[英]How to select option in jQuery using text of option tag
我正在尝试 select select 框中的某个选项,但它不起作用:
var category = $(row + 'td:nth-child(4)').text();
$('#category_id', theCloned).load('/webadmin/video/get_categories',function(){
$('#category_id', theCloned).val(category);
});
没有抛出错误,但不会更改 select 框。 我在这里做错了什么?
以下是 load() 调用加载的选项示例:
<option value="1">Capabilities</option>
<option value="2">Application Focus</option>
<option value="5">Fun</option>
类别变量的值是“Fun”或“Capabilities”等。
var $selectbox = $('#category_id', theCloned), // cache the element to avoid lookup overheads
category = $(row + 'td:nth-child(4)').text();
$selectbox.load('/webadmin/video/get_categories', function(){
$selectbox
.find('option')
.filter(function(){
return $(this).text() === category;
})
.prop('selected', true);
});
更新了代码以适应您在更新中提供的代码。 这将起作用。 但是,如果一个选项将包含字符串的一部分而不是完整的字符串,它仍然是所选元素的一部分。 例如,如果选项是
<option value="1">Capabilities</option>
<option value="2">Application Focus</option>
<option value="5">Fun</option>
<option value="6">Fun Time</option>
<option value="6">Funhouse</option>
并且category
变量将具有值Fun
,所有最后三个选项都将成为选择器的一部分。
更改了代码以过滤其文本与category
变量的值完全匹配的选项。 因此,您不必担心上面的更新 1。
最后我找到了一个新的解决方案小提琴
<select>
<option value='1'>one</option>
<option value='2' >two</option>
<option value='3' >three</option>
</select>
脚本
$("select").on("change",function(){
alert($("select option:selected").text());
});
尝试这个
$('#category_id', theCloned).val($.trim(category));
$('#id_of_select_box').val('your_value');
这会做
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.