在jquery中选择以前的下拉列表来更改下拉值

时间:2012-03-30 07:56:46

标签: jquery

我有以下代码适用于单选按钮,但需要更改以使选择框进行更改而不是单选按钮,这可能吗?

http://jsfiddle.net/Nksku/

HTML

ABC: <input type="radio" name="abc123" id="abc"/>
123: <input type="radio" name="abc123" id="123"/>

<select id="theOptions">
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
  <option value="a">a</option>
  <option value="b">b</option>
  <option value="c">c</option>
</select>

的jQuery

jQuery.fn.filterOn = function(radio, values) {
    return this.each(function() {
        var select = this;
        var options = [];
        $(select).find('option').each(function() {
            options.push({value: $(this).val(), text: $(this).text()});
        });
        $(select).data('options', options);
        $(radio).click(function() {
            var options = $(select).empty().data('options');
            var haystack = values[$(this).attr('id')];
            $.each(options, function(i) {
                var option = options[i];
                if($.inArray(option.value, haystack) !== -1) {
                    $(select).append(
                    $('<option>').text(option.text).val(option.value)
                    );
                }
            });
        });            
    });
};

$(function() {
    $('#theOptions').filterOn('input:radio[name=abc123]', {
        'abc': ['a','b','c'],
        '123': ['1','2','3']        
    });
});​

1 个答案:

答案 0 :(得分:2)

我可能误解了你想要的东西,但试着看看这个:

http://jsfiddle.net/Nksku/2/

你想要其中一个作为默认选择,并且第二个框需要为空,直到你选择了什么?