从 jQuery Mobile Selectmenu Widget 获取所选索引
Getting selected index from jQuery Mobile Selectmenu Widget
我在获取选择小部件的选定索引时遇到问题。这是 HTML
<div data-role="content" id="resultados">
<label for="select-choice-0" class="select">Resultados:</label>
<select name="select-choice-0" id="listaResultados"></select>
</div>
我以这种方式动态地向小部件添加选项(这有效):
$listaRe = $("#listaResultados");
$listaRe.html("");
for(i=0;i<results.length;i++){
$listaRe.append("<option value='"+i+"'>"+results[i]+"</option>");
}
// results is a predefined array
当我每次更改时尝试获取所选索引时,它总是打印"索引:0":
$listaRe.change(function(){
console.log("Index: "+$listaRe.selectedIndex);
});
我正在使用jQuery 1.8.1和jQuery Moble 1.2.0
谢谢!
这是一个简单的问题:-
-
$listaRe
这里是jQuery对象 - 并且 jQuery 对象没有像
selectedIndex
这样的属性
因此,您可以这样做:
$listaRe.on('change', function () {
console.log("Index: " + $listaRe[0].selectedIndex);
});
演示:小提琴
或者这个:-
$listaRe.on('change', function () {
console.log("Index: " + $listaRe.prop("selectedIndex"));
});
演示:小提琴
以解决此问题。
尝试使用.on
方法。这是工作代码:
$('#resultados').on('change','#listaResultados',function(){
alert($('option:selected',$(this)).index());
});
在此处查看工作演示:http://jsfiddle.net/rhyC5/
考虑结果长度为 5:
$(document).ready(function () {
$listaRe = $("#listaResultados");
$listaRe.html("");
for (i = 0; i < 5; i++) {
$listaRe.append("<option value='" + i + "'>" + i + "</option>");
}
// results is a predefined array
$listaRe.change(function () {
console.log("Index: " + $listaRe.prop("selectedIndex"));
});
})
相关文章:
- 在jQuery中获取表的行索引
- 在JavaScript中通过索引从对象数组中获取值
- Javascript获取所有锚链接的索引
- NodeJS在一个较大的字符串中获取一个字符串的索引
- angularjs$watch获取已更改数组项的索引
- Javascript Array 从特定索引获取偏移索引
- 使用名称 jQuery 按索引获取 ID 值
- 在jQuery中通过索引获取字典的键值
- 相同的类多次如何使用索引获取对象
- Boostrap 表:按行索引获取行数据
- 如何在ag网格中通过索引获取节点
- 使用对象哈希映射上的索引获取值
- 使用jQuery的索引获取表的偏移位置
- 如何通过索引获取jQueryUITabsDOM元素
- 使用Javascript通过索引获取HTML有序列表中的元素
- Jquery使用数组中的索引获取某些选择器的文本值
- 如何在javascript中使用索引获取对象的属性值
- 如何使用索引获取整个对象
- 如何通过元素的数据项索引获取元素
- 根据另一个数组的索引获取一个数组的值