如何将两个选择框设置为默认的相同选项值

时间:2012-07-19 15:23:23

标签: jquery html

我在同一个字段集中有2个选择框。我正在使用jquery添加一个选项,我希望它们都具有相同的默认值。

$(function(){
    var selectbox = $('.selectbox select');
    selectbox.prepend('<option value="Select a question" selected="selected">Select a question</option>');
    selectbox.children('option').each(function() {
        var option = $(this);
        option.removeAttr('disabled');
    });
});

我甚至尝试删除它设置的禁用属性,我似乎无法弄清楚为什么将第二个选择框设置为禁用该选项。

2 个答案:

答案 0 :(得分:1)

您必须使用prepend循环select选择每个.each(),如下所示:

var selectbox = $('.selectbox select');
selectbox.each(function() {
    $(this).prepend('<option value="Select a question" selected="selected">Select a question</option>');
});

您的代码将option添加到一个select。而且disable目的不需要prepend

DEMO

注意

如果您的option具有disabled属性,我认为这不会对上述代码产生任何问题。的 SEE HERE

要从所有disabled中移除option属性,您可以执行以下操作:

var selectbox = $('.selectbox select');
selectbox.each(function() {
    $(this).find('option').removeAttr('disabled'); // remove disabled attr
    $(this).prepend('<option value="Select a question" selected="selected">Select a question</option>');
});

DEMO

答案 1 :(得分:0)

这可以通过找到选择菜单,然后添加选项元素,然后找到第一个选项并将其设置为选择来完成:

$('.selectbox select')
  .prepend('<option value="Select a question" selected="selected">Select a question</option>')
  .find('option:first-child').attr('selected', 'selected');​