如何在没有值的情况下选择jquery中的tag select选项

时间:2013-07-06 06:53:58

标签: jquery html

我需要使用JQuery选择选项17 我不能使用价值,因为它总是不同的。 那么有没有任何解决方案可以使用“选择”儿童或某些东西? 谢谢。

<select name="size" id="size">
    <option value="1430">17</option>
    <option value="1429">19</option>
    <option value="1428">20</option>
    <option value="1427">16</option>
    <option value="1426">15</option>
    <option value="1425">18</option>
</select>

3 个答案:

答案 0 :(得分:4)

$('select[name="size"] option').each(function() {
   if($(this).text() == '17') {
       $(this).prop('selected', true);
   }
});

答案 1 :(得分:3)

您可以使用:contains() selector

$("#size").find("option:contains(17)").prop("selected",true);

虽然那样也可以选择像1117这样的文字。因此,您可以使用.filter()(与$.trim()一起使用):

$("#size option").filter(function() {
    return $.trim($(this).text()) === "17";
}).prop("selected", true);

或者,一个好的旧.each()循环会让您在找到匹配项后立即停止,因此它比.filter()更麻烦,但效率更高:

$("#size option").each(function() {
    if ($.trim($(this).text()) === "17") {
       $(this).prop("selected", true);
       return false;
    }
});

答案 2 :(得分:0)

Jquery让开发人员的生活如此轻松:)

var setstatus=17;
 $("#size option:contains(" + setstatus + ")").attr('selected', 'selected');