2014-02-17 2 views
2

У меня есть Складная-набор (с 5-10 сборно-разборные) и с помощью этого кода, чтобы найти открыт:Какая динамически добавленная складная открыта внутри сборного набора? JQuery мобильный

которым
$("#mySet").on("collapsibleexpand", function (e) 
{ 
    var selected = $(".ui-icon-minus").parent().parent().attr("my-data"); 

// more code... 

Это работает при открытии разборную внутри складная набора. Или текущий открытый закрыт перед открытием нового складного. Но, если разборчивость открыта и нажимается на новый складной внутри моего сбрасываемого набора, он терпит неудачу, и я получаю значение из предыдущего открытого.

Есть ли лучший способ сделать это? Использование JQuery мобильного 1.4.0

Я также попытался это, но тогда я получаю только первый разборную внутри мою collapsibleset

var foo = $("[data-role=collapsible]").attr("my-data"); 
+0

, когда вы хотите проверить, какие разборную открыт? при закрытии другого? – Omar

+0

Каждый раз, когда открывается складной склад. Если мой складной набор имеет 10 совместимых, я хочу знать, что один из них открыт. –

+0

вам нужно связать 'collapsibleexpand' с _collapsible_ not _collapsibleset_. http://jsfiddle.net/Palestinian/A5vFz/ – Omar

ответ

1

Вы должны связать collapsibleexpand с складной не collapsibleset , Привязать события к collapsibleset, когда у вас есть _collapisbleset_s 'в пределах collapsibleset. Кроме того, делегируйте событие data-role="collapsible" или .ui-collapsible, так как вы вводите их динамически.

Другое примечание, data-role="collapsible-set" является устаревшим jQM 1.4 и будут удалены в версии 1.5, используют вместо data-role="collapsibleset" (просто удалить дефис).

$(document).on("collapsibleexpand","[data-role=collapsible]", function() { 
    $(this).doSomething(); 
}); 

Demo

+1

Добавление роли данных помогло! $ ("# mySet"). on ("collapsibleexpand", "[data-role = collapsible]", function (e) ... // –

Смежные вопросы