-1

当使用新值选择最后一个选项时,如何刷新 jquery 多选?就像我的选择框中有以下选项

<select id="positions">
    <option value="0">Programmer</option>
    <option value="1">Tester</option>
    <option value="2">Manager</option>
    <option value="3">Admin</option>
    <option value="4">Load all other</option>    
</select>

如果用户从选择框中选择“加载所有其他”选项,则应使用不同的值重新初始化此选择框。或者是否可以在一个使用粗线分隔的选择框中填充两个下拉值。

4

3 回答 3

1

我想我明白你的意思。这会奏效吗?

$('#positions').change(function() {
    if ($('#positions').val() === '4') {
        var newOptions = '<option value="0">Programmer</option>';
        newOptions += '<option value="1">Tester</option>';
        newOptions += '<option value="2">Manager</option>';
        newOptions += '<option value="3">Admin</option>';
        newOptions += '<option value="5">Helicopter Pilot</option>';
        newOptions += '<option value="6">Fireman</option>';
        newOptions += '<option value="7">President of the United States</option>';
        $('#positions').html(newOptions);
    }        
});​
于 2012-03-19T13:30:32.077 回答
1

HTML部分:

<select id="positions">
    <option value="0">Programmer</option>
    <option value="1">Tester</option>
    <option value="2">Manager</option>
    <option value="3">Admin</option>
    <option value="4">Load all other</option>    
</select>

<select id="positions2">
    <option value="0">test1</option>
    <option value="1">test2</option>
    <option value="2">test3</option>
    <option value="3">test4</option>
    <option value="4">Load all other</option>    
</select>

jQuery部分:

$('#positions').change(function() {
    if ($('#positions').val() == 4) {
        var data = $('#positions2').html();
        $('#positions').html(data );
    }
});

这是Jsfiddle示例:

于 2012-03-19T14:37:08.227 回答
0

使用来自其他 selectBox 的值加载 $('#positions')

$('#positions').html( $('#otherSelectBox').html() );

但是如果同一个用户仍然想看到以前的选择呢?我认为您应该将 $('#positions') 附加到下一个值并隐藏上一个

$('#positions').children('option').hide().end().append( $('#otherSelectBox').html() );
于 2012-03-19T14:44:46.933 回答