使用jquery创建动态组合框

时间:2012-12-26 11:35:31

标签: javascript jquery ajax

  

可能重复:
  How to add dynamically a combobox using 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个组合框,而不是只有一个。

我怎么能这样做?

干杯

1 个答案:

答案 0 :(得分:0)

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

var otherComboBox = $('#combo' + newComboBoxIndex).clone();
otherComboBox.attr('id', 'othercombo' + newComboBoxIndex);
$('body').append(otherComboBox);