使用jQuery来select一个下拉选项
我想知道是否有可能得到jQueryselect一个选项,说第四项,在下拉框?
<select> <option></option> <option></option> <option></option> <option></option> <option></option> </select>
我希望用户点击一个链接,然后让select框更改它的值,就好像用户通过点击选项来select它。
怎么样
$('select>option:eq(3)').attr('selected', true);
例如http://www.jsfiddle.net/gaby/CWvwn/
对于现代版本的jQuery,你应该使用.prop()
而不是.attr()
$('select>option:eq(3)').prop('selected', true);
解决scheme:
$("#control id").val('the value of the option');
HTML select元素有一个selectedIndex
属性,可以写入以select一个特定的选项:
$('select').prop('selectedIndex', 3); // select 4th option
使用普通的JavaScript可以通过以下方式实现:
// use first select element var el = document.getElementsByTagName('select')[0]; // assuming el is not null, select 4th option el.selectedIndex = 3;
如果你的select有价值,你可以这样做:
$('select').val("the-value-of-the-option-you-want-to-select");
'select'将是您的select或类select器的ID。 或者如果只有一个select,则可以使用该示例中的标记。
最简单的方法是val(value)
函数:
$('select').val(2);
为了得到选定的值,你不给任何参数:
$('select').val();
另外,如果你有<option value="valueToSelect">...</option>
,你可以这样做:
$('select').val("valueToSelect");
DEMO
我会这样做
$("#idElement").val('optionValue').trigger('change');
如果要select具有特定值的选项,请使用以下代码:
$('select>option[value="' + value + '"]').prop('selected', true);
我更喜欢nth-child()到eq(),因为它使用基于1的索引而不是基于0的索引,这在我的大脑上稍微容易一些。
//selects the 2nd option $('select>option:nth-child(2)').attr('selected', true);
通常我们使用''元素'value'属性。 这将使它更容易设置:
$('select').val('option-value');
尝试这个:
$('#mySelectElement option')[0].selected = true;
问候!
用id回答:
$('#selectBoxId').find('option:eq(0)').attr('selected', true);
Try with the below codes. All should work. $('select').val(2); $('select').prop('selectedIndex', 1); $('select>option[value="5"]').prop('selected', true); $('select>option:eq(3)').attr('selected', 'selected'); $("select option:contains(COMMERCIAL)").attr('selected', true);
$('select>option:eq(3)').attr('selected', 'selected');
这里的一个警告是,如果你有select/选项的更改事件的JavaScript观看,你需要添加.trigger('change')
所以代码成为。
$('select>option:eq(3)').attr('selected', 'selected').trigger('change');
因为只有调用.attr('selected', 'selected')
不会触发事件