如何添加具有相同选项和不同名称的选择框。 我有一个循环,我的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 :(得分:1)
$(function(){
$('#add').click(function(){
var select = $('#combo').html();
$('<br/><span id="combo">'+select+'</span>').appendTo('#allCombo').find.('select').attr('name', 'uniqueName');
});
});
答案 1 :(得分:0)
var newSelect = $('select[name=item]').clone().attr('name', 'newselect');
$('#allCombo').append(newSelect);
答案 2 :(得分: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);
答案 3 :(得分:0)
使用item[]
作为名称。 PHP会将其转换为数组,因此所选值存储在$_POST['item']
。
但更重要的是不重复ID。我建议完全删除内部span
,如
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());
});
});