使用 JavaScript 查找具有选定属性的选择选项
find select option with selected property using javascript
我有一个视图,在某些按钮单击时select
元素动态加载到页面中。这些select
中的每一个都具有相同的 id 值,后跟一个基于单击按钮次数的索引值。所以 id 会像
id="my_id_" + numOfClicks;
我还为所有这些选择器提供了相同的类值
class="selects"
当所选选项在任何下拉列表中更改时,拥有事件处理程序的最佳方法是什么。 现在我有以下内容:
$('.selects').change(function() {
if($('this option:selected').val() == 0) {
}
else {
}
});
所以我要做的是首先使用"this"获取正确的选择元素,然后找出选择了哪些选项。有没有更好/更有效的方法可以做到这一点?
正如您所说,这些是在运行时添加的,您需要一个委托的事件处理程序。在处理程序中,正如注释所指出的那样,获取该select
框的选定值只是$(this).val()
。所以:
$("selector for some container they're in").on("change", ".selects", function() {
if($(this).val() == 0) {
}
else {
}
});
例如,如果它们都在具有类 container
的元素内,则:
$(".container").on("change", ".selects", function() {
if($(this).val() == 0) {
}
else {
}
});
如果没有其他合适的容器,你可以只使用 $(document).on(...
,但通常最好处理更接近它们所在位置的东西。
旁注:值始终是字符串,但==
会强制,所以"0" == 0
是正确的。不过,记住它们是字符串还是很有用的。
假设 html input.selects:
$('body').on('change', '.selects', function() {
if($(this).val() == '0') {
}
else {
}
});
http://jsfiddle.net/r4pxx0yy/1/
没有报价。
相关文章:
- jQuery最近父级的数据属性选择器
- 如何使用jQuery按数据日期属性选择元素
- 如何为HTML属性/选择器创建全局名称空间或变量
- 使用 jquery .find() 遍历按类和存储属性选择元素
- 属性选择器不起作用(语法错误、无法识别的表达式)
- 难以获取使用属性选择的节点的子节点
- 根据属性选择元素
- 按给定值的属性选择元素
- 选择由类和属性选择的元素的邻居
- 为什么属性选择器不适用于jQuery
- 基于多属性选择查找选定单选按钮值
- JQuery中的CSS属性选择器
- 使用 jQuery 通过 ID 属性选择 HTML 元素
- Jquery $this属性选择器是否包含单词
- 使用 *= 的 jQuery 属性选择器
- 如何根据属性选择功能
- 如何在jQuery中定义条件属性选择器
- 不区分大小写的 jQuery 属性选择器
- 仅按属性选择元素
- 通过动态更改的属性选择元素