2

可能重复:
如何使用 jQuery 动态添加组合框

看,我有这个动态组合框的工作代码。

<html>
<div id="combos" class="styled-select">
<select id="combo1" class="combo" data-index="1">
<option></option>
<option>sss</option>
<option>aaa</option>
<option>ddd</option>
</select>
</div>

<script>
$('#combos').on('change', '.combo', function () {
        var selectedValue = $(this).val();

        if ($(this).find('option').size() > 2) {
            var newComboBox = $(this).clone();
            var thisComboBoxIndex = parseInt($(this).attr('data-index'), 2);
            var newComboBoxIndex = thisComboBoxIndex + 1;
            $('.parentCombo' + thisComboBoxIndex).remove();
            if (selectedValue !== '') 
            {
            newComboBox.attr('data-index', newComboBoxIndex);
            newComboBox.attr('id', 'combo' + newComboBoxIndex);
            newComboBox.addClass('parentCombo' + thisComboBoxIndex);
            newComboBox.find('option[value="' + selectedValue + '"]').remove();
            $('#combos').append(newComboBox);
            }
        }
        });
</script>
</html>

这样做是每次我之前填充组合框时都会创建一个新的组合框。

我要寻找的是,每次我之前填充组合框时,代码都会创建 2 个组合框,而不是只有一个。

我怎么能那样做?

干杯

4

1 回答 1

0

不确定这是否是您想要的,但这会添加两个组合框(在 $('#combos').append(newComboBox); 之后):

var otherComboBox = $('#combo' + newComboBoxIndex).clone();
otherComboBox.attr('id', 'othercombo' + newComboBoxIndex);
$('body').append(otherComboBox);
于 2012-12-26T17:55:24.020 回答