我想将多选小部件添加到使用某些值设置的表单中。当用户点击按钮时,多选小部件内的值会发生变化。
当我这样做时,表格会崩溃。
这是该问题的示例代码:
<script type="text/javascript" >
function test(){
var msObj = dijit.byId('ms1');
msObj.set('label', ['val1', 'val2']);
}
</script>
</head>
<body class="claro">
<h2>Multiselect Test</h2>
<h3>Click on test button to see new data loaded in the multiselect widget</h3>
<div data-dojo-type="dijit/form/Form" enctype="multipart/form-data"
action="" method="POST">
<div data-dojo-type="dojox/layout/TableContainer"
data-dojo-props="cols:1">
<select id="ms1" data-dojo-type="dijit/form/MultiSelect"
title="MultiSelect123:" name="multi_select">
<option value="English 123">English 123</option>
<option value="1234.56">1234.56</option>
</select>
</div>
<br>
<button onclick="test()">test</button>
</body>
答案 0 :(得分:0)
崩溃的原因是因为单击按钮后表单会被提交 为避免提交表单,我们需要在按钮单击功能中返回false值。即
<button onclick="test(); return false;">test</button>
此外,Multiselect Dojo小部件与数据存储/对象无关。根据文档,它只是 SELECT HTML元素的包装 因此,您需要使用基本的HTML / JS代码来添加和删除小部件的 OPTIONS 。
检查jsfiddle是否有工作示例。