解决easyui combobox赋值boolean类型的值时,经常出现的内容显示的value而不是text的bug

29次阅读

共计 594 个字符,预计需要花费 2 分钟才能阅读完成。

版本:EasyUI 1.7.0
在用 easyui 写项目时,碰到一个 combobox 的奇葩 bug。代码如下:
<div>
<select class=”easyui-combobox” id=”edit_sex” name=”sex” data-options=”label:’ 性别:’, width:300, required:true”>
<option value=”true”> 男 </option>
<option value=”false”> 女 </option>
</select>
</div>
赋值语句如下:
$(‘#edit_sex’).combobox(‘setValue’, row.sex);
本来这是一个很简单的 combobox 赋值,但是当我真正赋值时却出现了问题,经常出现一个 bug,就是赋值完,combobox 显示的内容是 true 或者 false,而不是男或女,而且重现率极高。我在测试了其他赋值情况后,发现是 row.sex 的值存在问题。该值是 boolean 类型,combobox 赋值 boolean 类型的值的时候,会经常出现显示内容为 value 而不是 text 的 bug。那么问题解决起来就简单了,把 boolean 类型改为字符串。修改后的赋值语句如下:
$(‘#edit_sex’).combobox(‘setValue’, String(row.sex));
暂时不得而知 bug 原因。如果有人知道麻烦解答,谢谢。

正文完
 0