<select id="size" name="size"><option value="3944330">Medium</option>
<option value="3944331">Large</option>
<option value="3944332">XLarge</option></select>
我试图选择大号和XLarge尺寸,但它不起作用,这是我放的代码:
$("input[value='size']").filter(function(i, e) { return $(e).text() == "Large"})
我试图通过不使用值(3944331)而是使用名称(大)来选择按钮。
答案 0 :(得分:0)
以下是代码中的问题列表:
1)您为select元素使用了错误的选择器。您应该使用select
代替input
。
2)使用属性name
而不是value
。因为size是name属性的值
3)你还需要从选项元素过滤。修改选择器以选择元素
中的目标选项$("select[name='size'] option").filter(function(i, e) { return $(e).text() == "Large"})
注意:如果您要选择上面的选项元素,请添加选择为true的属性
$("select[name='size'] option").filter(function(i, e) {
return $(e).text() == "Large"
}).prop("selected", true)
答案 1 :(得分:0)
input[value='size']
选择器搜索带有属性value="size"
的输入元素,因此请使用id
选择器进行更新,或者根据名称进行选择。
使用:contains()
伪类选择器选择包含特定文本的元素。
$("#size option:contains('Large')")
用于精确文本匹配的或filter()
方法,其中this
可用于引用元素。
$("#size option").filter(function(){
$(this).text() == 'Large';
});
答案 2 :(得分:0)
试试这个:
$("#mySelect1").find("option[text=" + text1 + "]").attr("selected", true).change();
答案 3 :(得分:0)
试试这个,
按值选择一个选项:
// click will auto set selected attribute
$('select#size option[value="Large"]').click();
按文字选择一个选项:
// click will auto set selected attribute
$('select#size option:contains("Large")').click();