如何使用选项标记的文本在jQuery中选择选项
How to select option in jQuery using text of option tag
我试图在选择框中选择某个选项,但它不起作用:
var category = $(row + 'td:nth-child(4)').text();
$('#category_id', theCloned).load('/webadmin/video/get_categories',function(){
$('#category_id', theCloned).val(category);
});
没有抛出错误,但不会更改选择框。我在这里做错了什么?
下面是load((调用加载的选项示例:
<option value="1">Capabilities</option>
<option value="2">Application Focus</option>
<option value="5">Fun</option>
类别变量的值为"乐趣"或"能力"等。
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);
});
更新1
更新了代码以调整为您在更新中提供的代码。这会奏效的。但是,如果一个选项将包含字符串的一部分而不是完整字符串,那么它仍然是所选元素的一部分。例如。如果选项为
<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
,最后三个选项都将是选择器的一部分。
更新2
更改代码以筛选文本与category
变量值完全匹配的选项。因此,您不必担心上面的更新1。
$('#id_of_select_box').val('your_value');
这将执行
试试这个
$('#category_id', theCloned).val($.trim(category));
最后我找到了一个新的解决方案Fiddle
<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());
});
相关文章:
- 按照选项卡索引的顺序循环一个jQuery选择
- 如何在使用selectBoxIt JQuery插件时检测选项更改
- JQuery覆盖不更改单选选项
- jQuery动态表单显示在select选项上
- Jquery:如何获取所选选项全文(带空格)
- 使用基于文本的 Jquery 选择选项
- 如果类不是一个选项,如何在使用 jQuery 时控制(避免)嵌套 html 元素的样式
- 使用纯javascript而非jquery使所选选项卡处于活动状态并保持非活动状态
- 阻止选项卡缓存jquery ui
- 使用Jquery增加选项卡
- 如何在jquery.easytabs.js中获取当前选项卡
- JQuery-停止手风琴链接关闭所有选项卡
- 设置所选选项JQuery
- 防止已选择的选项 Jquery 使用 MYSQL 自动完成
- 动态替换下拉菜单选项jQuery
- 在Chrome和Firefox中选择选项jquery 2.1.1时出错
- 附加逗号分隔的值以选择选项 jQuery
- 忽略选择选项jQuery的值
- 无法在回调时配置选项(jQuery插件)
- 为什么这个自动选择第一个选项jquery脚本在Internet Explorer中不起作用