数据绑定单选按钮未进行样式设置
我正在尝试将KnockoutJS与jQuery mobile一起使用,我遇到了一个问题,即数据绑定集中的单选按钮没有被设置样式。
这是一个小提琴
我有一个看起来像这样的简单模型:
var vm = { options: ["option1","option2","option3"] } $(function() { ko.applyBindings(vm); });
我试着像这样绑定它:
我可以通过检查DOM看到KnockoutJS已经正确地将我的集合转换为(大致)这个(为了清楚起见,删除了数据绑定):
如果我静态地放入我的HTML中,它由jQuery Mobile正确设置。
知道这里可能会发生什么吗? 在同一个项目的其他地方,我有一个在列表视图中显示的收集,并且样式很好。
到目前为止,我只在FF中测试了这个。
更新
搜索这个,我发现一些旧信息建议将.checkboxradio()
应用于元素以手动设置它们的样式。 我在这做了
$(function() { ko.applyBindings(vm); $(".boundRadio").checkboxradio(); });
这有些帮助,但它们没有像静态定义的按钮那样分组。 每个都有单独的圆角,而不是仅围绕第一个项目的顶角和最后一个项目的底角。
好。 我想我已经修好了。 看到这里
我在应用绑定后添加了这个:
$(function() { ko.applyBindings(vm); $(".boundRadio").checkboxradio(); $("#boundFS").controlgroup(); });
其中boundFS
是我分配给父boundFS
的id,而.boundRadio
是一个应用于模板中所有单选按钮的类。
除非有人有更好,更清洁的方法来解决这个问题,否则我会关闭这个问题。