2011-04-25 53 views
0

如何添加具有相同選項和不同名稱的選擇框。 我有一個循環,在那裏我的PHP讀取SQL表,併爲每一行,它會創建一個選項標籤附加一個選擇框,但選項框相同但名稱不同

這是功能追加:

$(function(){ 
    $('#add').click(function(){ 
     var select = $('span[id=combo]').html(); 
     $('#allCombo').append('<br/><span id="combo">'+select+'</span>'); 
    }); 
}); 

這是選擇框:

<span id="allCombo"> 
       <span id="combo" name="combo"> 
        <select name="item"> 
         <?php foreach ($items as $item) { ?> 
          <option value="<?php echo $item->item_id; ?>"> 
          <?php echo $item->item_name; ?></option> 
         <?php } ?> 
        </select> 
       </span> 
</span> 

任何人都可以幫助我。 以前感謝。

回答

0

使用item[]姓名。 PHP會將其轉換爲一個數組,因此所選值存儲在$_POST['item']的數組中。

但更重要的是不重複ID。我建議徹底清除內span,作爲

  1. 你不能有重複的ID和
  2. span標籤沒有name屬性

所以沒有必要保留此標記。

<span id="allCombo"> 
    <select name="item[]"> 
     <?php foreach ($items as $item): ?> 
      <option value="<?php echo $item->item_id; ?>"> 
       <?php echo $item->item_name; ?> 
      </option> 
     <?php endforeach; ?> 
    </select> 
</span> 

的JS代碼如下:

$(function(){ 
    $('#add').click(function(){ 
     $('#allCombo') 
      .append('<br />') 
      .append($('#allCombo select').first().clone()); 
    }); 
}); 
+0

由於其樂於助人的 – 2011-04-25 14:15:04

+0

我有另一個問題 你能幫我嗎 http://stackoverflow.com/questions/5789219/showing-a-combo-box-by-change-value-of-another-combo-box – 2011-04-26 11:23:02

1
$(function(){ 
    $('#add').click(function(){ 
     var select = $('#combo').html(); 
     $('<br/><span id="combo">'+select+'</span>').appendTo('#allCombo').find.('select').attr('name', 'uniqueName'); 
    }); 
}); 
+0

+1,不要忘了' mattsven 2011-04-25 13:36:59

+1

ID重複調用的麻煩... – 2011-04-25 13:41:58

0
var newSelect = $('select[name=item]').clone().attr('name', 'newselect'); 
$('#allCombo').append(newSelect); 
0

您可以隨時使用克隆方法:

var new_combo $('span#combo').clone(); 
new_combo.attr('name', 'second_combo'); 
new_combo.attr('id', 'second_combo'); // for valid html 
$('#allCombo').append(new_combo); 
相關問題