0

始める前に、私のバックグラウンドは主にグラフィック デザインであるため、コーディングに関する知識は限られています。だから優しくしてください:D

ここで私の状況:Google Maps 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、;) このソリューションはかなりうまく機能しますが、OS のネイティブ リスト UI を使用するように、選択タグとオプション タグに切り替えたいと思います!

このようなもの:

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

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

</select>

オプションタグの値をトリガーするには、JQ でどのようなコードを使用する必要がありますか?

これが十分に明確であることを願っています。事前に感謝します。

4

1 に答える 1

1

あなたの質問を正しく理解していると仮定すると、選択リストへの変更を処理するためのコードは、チェックボックスの例とまったく同じである必要がありますが、次のようにId変更されています。

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

上記の jQuery の行を修正したかのように、HTML から醜い属性onclickonselect属性を削除することもできます。これにより、それらも処理されます。

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

HTML

<select id="listazza" multiple="multiple" size="1">
    <option value="2">ID</option>
</select>
于 2011-11-28T10:49:41.880 に答える