动态更改Dojo多选值

时间:2015-03-17 08:37:04

标签: javascript dojo

我想将多选小部件添加到使用某些值设置的表单中。当用户点击按钮时,多选小部件内的值会发生变化。

当我这样做时,表格会崩溃。

这是该问题的示例代码:

 <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>

1 个答案:

答案 0 :(得分:0)

崩溃的原因是因为单击按钮后表单会被提交 为避免提交表单,我们需要在按钮单击功能中返回false值。即

<button onclick="test(); return false;">test</button>

此外,Multiselect Dojo小部件与数据存储/对象无关。根据文档,它只是 SELECT HTML元素的包装 因此,您需要使用基本的HTML / JS代码来添加和删除小部件的 OPTIONS

检查jsfiddle是否有工作示例。