0

我需要使用 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>
4

3 回答 3

4
$('select[name="size"] option').each(function() {
   if($(this).text() == '17') {
       $(this).prop('selected', true);
   }
});
于 2013-07-06T07:03:38.060 回答
3

您可以使用:contains()选择器

$("#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;
    }
});
于 2013-07-06T06:58:25.613 回答
0

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

var setstatus=17;
 $("#size option:contains(" + setstatus + ")").attr('selected', 'selected');
于 2013-07-06T07:14:34.133 回答