0

我在一个页面上有一个多选,并且我已经对其进行了设置,以便在单击其中一个选项时禁用页面上的另一个选择。我遇到的问题是即使用户只是单击多选的滚动条,客户也希望禁用其他选择。我在选择标签上有 onclick 事件。如果用户单击多选的滚动条,是否会触发脚本?

<select name="disable_this" id="disable_this" data-dojo-type="dijit.form.FilteringSelect" data-dojo-props="maxHeight:300" style="width:500px; overflow:hidden;" onclick="javascript:disableOtherSelect('thisone_multiple','disable_this');">
                    <option selected="selected">Select</option>
                    <option>first</option>
                    <option>second</option>
                    <option>third</option>
                </select>



<select name="thisone_multiple" id="thisone_multiple" data-dojo-type="dijit.form.MultiSelect" multiple="multiple" data-dojo-props="maxHeight:300" style="width:500px; overflow:hidden;" onclick="javascript:disableOtherSelect('disable_this','thisone_multiple');">
                <option selected="selected">Select</option>
                    <option>C - Example Account Name 1</option>
                    <option>A - Example Account Name 2</option>
                    <option>B - Example Account Name 3</option>
                    <option>ZZ - Example Account Name 4</option>
                    <option>AA - Example Account Name 5</option>
                </select>


function disableOtherSelect(layer,layer2){
        //disable the other one based on arguments from the onchange event
      dijit.byId(layer2).set('disabled', false);
      dijit.byId(layer).set('disabled', true);


    };

更新

我创建了一个简单的 jsfiddle,它显示了选择与多选的 onclick。如您所见,单击多选上的滚动条不会触发脚本,但单击选择上的箭头会触发脚本:

http://jsfiddle.net/txujL/2/

4

1 回答 1

0

我找到了一个更好的方法来做到这一点。我没有禁用表单输入,而是将它们设置为当单击一个半透明 div 时,会出现在另一个上,有效地防止用户在“禁用”的那个中进行选择。

于 2013-09-18T18:06:51.090 回答