JQuery-无法在select元素中选择一个选项?

时间:2016-11-22 06:54:57

标签: jquery select input

<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)而是使用名称(大)来选择按钮。

4 个答案:

答案 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)

试试这个,

  1. 按值选择一个选项:

     // click will auto set selected attribute
     $('select#size option[value="Large"]').click();
    
  2. 按文字选择一个选项:

     // click will auto set selected attribute
     $('select#size option:contains("Large")').click();