JQuery Mobile可与单选按钮折叠

时间:2016-02-17 13:20:37

标签: jquery-mobile jquery-mobile-collapsible jquery-mobile-radio

我尝试创建一种替代方法来选择一组选项,例如在选择小部件中。

我的自定义选择是使用可折叠和一组单选按钮构建的,这些按钮比JQM选择稍微轻一些,因为非原生选择菜单被转换为弹出窗口或对话框。特别是在面板内部使用时,而且对我来说更容易进行数据绑定。

enter image description here

我正在动态地将标记插入到面板内部。该面板还可以具有不同的内容,这些内容将在panel.onbeforeopen中初始化。 现在,只有在创建可折叠之后才能绑定单选按钮更改事件。我尝试过类似的东西,但不起作用:

$("#collapsible-select").on("collapsiblecreate", function(event, ui) {
  $("#radio-choice-1").change(function() {
    var label = $("label[for='" + $(this).attr('id') + "']");
    $("#collapsible-select").collapsible("option", "collapseCueText", label);
    $("#collapsible-select").collapsible("collapse");
  });
});

手风琴初始化后,如何在正确的时间绑定单选按钮更改事件? 有没有办法将整个广播组的更改事件绑定到每个单选按钮?

Plunker:http://plnkr.co/edit/OSocuRPQIzuk367dE6XS?p=preview

1 个答案:

答案 0 :(得分:1)

使用页面的pagecreate事件添加更改处理程序,并使用name属性仅添加一个处理程序:

$(document).on("pagecreate","#one", function(){ 
  $('[name="radio-choice"]').change(function(e) {
    var label = $(this).parent(".ui-radio").find("label").text();
    $("#collapsible-select").collapsible("option", "collapseCueText", label).collapsible( "collapse" );
  });
});  

更新了 Plunker