Jquery выбрать тег \ флажки с таблицами Fusion - PullRequest
0 голосов
/ 28 ноября 2011

перед тем, как начать, позвольте мне сказать, что мой опыт в основном в графическом дизайне, поэтому мои знания в области кодирования ограничены!Так что будьте осторожны: D

Вот моя ситуация: я создаю приложение телефонной связи для Android с помощью Google Maps api \ fusion tables \ jquery mobile.У меня есть список флажков, которые запускают различные типы маркеров из таблиц Fusion, я передал состояние флажков через 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);});
});

ТАК;) Это решение работает довольно хорошо, но я бы хотел переключиться на теги select и option, чтобы он использовал собственный интерфейс списка ОС!

Примерно так:

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

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

</select>

Какой код я должен использовать в JQ для вызова значения тега опции?

Надеюсь, это достаточно ясно, заранее спасибо.

1 Ответ

1 голос
/ 28 ноября 2011

Если я правильно понял ваш вопрос, код для обработки изменений в списке выбора должен быть точно таким же, как в вашем примере флажка, но с измененным Id:

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

Вы можететакже удалите уродливые атрибуты onclick и onselect из своего HTML, как если бы вы изменили вышеприведенную строку 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>
...