2016-07-14 71 views
0

是否可以在关闭下拉列表时检测Bootstrap Muiltiselcts选项是否有任何更改。我想使用作者文档页面上记录的onDropdownHidden事件:onDropDownHidden Event以允许我查看用户是否从打开下拉菜单后取消选择或选择了任何内容。打开多选会有一些预先选择的选项。我需要知道(特别是)他们是否切换了一个选项(因此不改变初始选择),所以我可以决定是否调用一个函数来启动保存新的更改。我想避免在一个选项的onChange之后调用这个函数,如果结果的状态是相同的话。它与isDirty类似,用于检查表单上是否有任何控件已被编辑 - 是否有一些类似的技巧用于多选?如何检测Bootstrap Multiselect中的更改

谢谢。

回答

0

那么multiselect是否设置了默认值?这些选择只会在更新/添加某些数据库时使用吗?

我真的不知道是否要使用JavaScript或PHP,但如果您使用PHP,是否有意义检查if isset($multiselectfield){}

或者更简单,如果它有一个默认值,检查if ($multiselectfield != defaultvalue) {}。如果它不是默认值,则执行该操作,否则默认值必须一直保留。

只是我的想法,但问题不是完全措辞能够给你一个足够的答案。无论如何,我只是在刺探它。

+0

初始化后,多重选择将从数据库中检查一些选项。我通过jquery ajax'$ post()'更新序列化的multiselct数据。然后在PHP中更新表格。我正在思考:阅读每个选项的初始状态,存储所有状态,然后'onDropdownHidden'比较状态(如果有任何更改) - 显示(预先隐藏)“保存更改”按钮。只是想知道如果这是必要的,如果这是一种更好的内置方法,技术或我不知道的事情。 –

+0

我绝对是你做这件事的一种方式。我相信,然而'onDropdownHidden'更像是一个UI功能。你仍然希望得到它们的值,看看它们是否被设置,所以我不确定你需要检查'onDrodownHidden'的状态,但是你应该需要检查每个选择的值。您可以通过添加一些条件语句来限制服务器的数量,在实际从POST获取值之前检查它们是否已设置。这正是我所想象的,但这听起来像你在正确的轨道上! –