在开始之前,让我说我的背景主要是图形设计,因此我的编码知识是有限的!所以要温柔:D
在这里我的情况:我正在使用谷歌地图api \ fusion tables \ jquery mobile为Android建立一个phonegap应用程序。 我有一个复选框列表,从复合表中触发各种类型的标记,我通过jquery传递了复选框的状态。 这是过滤融合表中元素的函数:
function toggleMarkers(layer2) {
var fusione = TABLE ID ;
var arr_numero = [];
var idx = 0;
if (document.getElementById('toggleID').checked) {
arr_numero[idx] = 1;
idx++;
}
lista_numero = arr_numero.join(',');
if (lista_numero == "") {
lista_numero = "'no_selection'";
}
layer2.setQuery("SELECT Location FROM "+ fusione +" WHERE numero IN (" + lista_numero + ")");
}
...这是复选框:
<input type="checkbox" id="MYID" onclick="toggleMarkers(layer2);" />
..和“启用”复选框的JQ:
$(document).ready( function(){
$("#toggleID").change(function() {toggleMarkers(layer2);});
});
SO ,;)这个解决方案效果很好,但我想切换到select和option标签,以便它使用操作系统的本机列表UI!
这样的事情:
<select size="1" id="listazza" multiple="multiple">
<option onclick="toggleMarkers(layer2);" onselect="toggleMarkers(layer2);" value="2" id="toggleID">ID</option>
</select>
我必须在JQ中使用哪种代码来触发选项标记值?
希望这很清楚,先谢谢。
答案 0 :(得分:1)
假设我已正确理解您的问题,处理选择列表更改的代码应与复选框示例完全相同,但Id
已更改:
$(document).ready( function(){
$("#listazza").change(function() { toggleMarkers(layer2); });
});
您还可以从HTML中删除丑陋的onclick
和onselect
属性,就像修改上面的jQuery行一样,这也将为您解决这些问题:
$(document).ready( function(){
$("#listazza").live("change click", function() { toggleMarkers(layer2); });
})
HTML
<select id="listazza" multiple="multiple" size="1">
<option value="2">ID</option>
</select>