Jquery选择带有融合表的标签\复选框

时间:2011-11-28 10:44:33

标签: jquery android google-maps-api-3 jquery-mobile google-fusion-tables

在开始之前,让我说我的背景主要是图形设计,因此我的编码知识是有限的!所以要温柔: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中使用哪种代码来触发选项标记值?

希望这很清楚,先谢谢。

1 个答案:

答案 0 :(得分:1)

假设我已正确理解您的问题,处理选择列表更改的代码应与复选框示例完全相同,但Id已更改:

$(document).ready( function(){ 
    $("#listazza").change(function() { toggleMarkers(layer2); });
});

您还可以从HTML中删除丑陋的onclickonselect属性,就像修改上面的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>