动态更改 Dojo 多选值
Dynamically change Dojo multiselect values
我想向设置了一些值的表单添加一个多选小部件。当用户单击按钮时,多选小部件内的值会发生变化。
当我这样做时,表单崩溃了。
这是问题的示例代码:
<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>
崩溃的原因是点击按钮时表单被提交。
为了避免提交表单,我们需要在按钮点击功能中设置 return false 值。即
<button onclick="test(); return false;">test</button>
此外,Multiselect Dojo 小部件未与数据关联 store/object。根据文档,它只是 SELECT HTML 元素的包装。
因此,您需要使用基本的 HTML/JS 代码来添加和删除小部件的 OPTIONS。
检查 jsfiddle 以获取工作示例。
我想向设置了一些值的表单添加一个多选小部件。当用户单击按钮时,多选小部件内的值会发生变化。
当我这样做时,表单崩溃了。
这是问题的示例代码:
<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>
崩溃的原因是点击按钮时表单被提交。
为了避免提交表单,我们需要在按钮点击功能中设置 return false 值。即
<button onclick="test(); return false;">test</button>
此外,Multiselect Dojo 小部件未与数据关联 store/object。根据文档,它只是 SELECT HTML 元素的包装。
因此,您需要使用基本的 HTML/JS 代码来添加和删除小部件的 OPTIONS。
检查 jsfiddle 以获取工作示例。