0

開始之前,讓我說我的背景主要是平面設計,因此我的編碼知識是......有限的!所以要溫柔:DJquery選擇標籤複選框與融合表

在這裏我的情況:我正在構建Android谷歌地圖api \融合表\ jQuery手機的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;;)這種解決方案工作得很好,但我想切換到選擇和選項標籤,因此它使用操作系統的本機列表UI!

事情是這樣的:

<select size="1" id="listazza" multiple="multiple"> 

    <option onclick="toggleMarkers(layer2);" onselect="toggleMarkers(layer2);" value="2" id="toggleID">ID</option> 

</select> 

什麼樣的代碼,我要在JQ用來觸發選項標記值?

希望這已經足夠清楚,在此先感謝。

+0

你是什麼意思(切換到和標籤,所以它使用操作系統的本機列表UI!)? –

+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> 
+0

這不起作用,似乎是id是undefined,它無法得到檢查狀態,如果在js –

+0

好吧,現在它的工作: '' 與JQ: '$( 「#listazza」)生活( 「變單擊」 功能( ){toggleMarkers(layer2);}); 如果(document.getElementById('toggleID')。selected){ arr_numero [idx] = 1;我更改了js中的js: idx ++; }' 真的非常感謝您的幫助! –