Aus*_*ree 5 safari knockout.js cordova ios6
我有几个选择框在ios中表现不正常.我正在运行cordova 1.8.1并在我的页面上运行了knockout.js应用程序.当我在项目选择器中选择一个项目时,它会被选中,但列表中的所有其他项目也会被选中.现在,据我所知,当我提交表单时,正在选择和报告正确的项目,但它对用户来说看起来非常糟糕,并且可能非常令人困惑.我正在做任何花哨的事,这是代码:
<select class="dropdownList1" style='width:35%;left:28%;position:absolute;' data-bind="value:ContactUsForm.Month,options:ContactUsForm.Months,optionsCaption: 'Month'"></select>
Run Code Online (Sandbox Code Playgroud)
但这是我在本月挑选7的结果:

这不是一个多选框.在我看来,这里的错误是在iOS中,但我怀疑当我选择一个值时,Knockout也会进行一些重新渲染.在普通的浏览器中,盒子会关闭,因此你永远不会看到"中间"状态,但是对于ios,盒子会一直打开,直到你点击"完成".
当Knockout更新下拉列表中的项目时会导致此问题.但即使ContactUsForm.Months从未改变,Knockout仍然会在值发生变化时更新项目,例如选择项目时.有关此问题的详细信息,请参阅RP Niemeyer的文章Knockout.js Performance Gotcha#3 - All Bindings Fire Together.
我认为他在那里提出的解决方案对你有用.options您应该使用他的绑定,而不是使用isolatedOptions绑定.(此外,value绑定应始终在options或之后isolatedOptions.)
<select data-bind="
isolatedOptions:ContactUsForm.Months, optionsCaption:'Month',
value:ContactUsForm.Month"></select>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1781 次 |
| 最近记录: |