-1

我在这个选择框中使用了一个多重选择器,我在这个选择的更改上使用了复选框我想执行一个函数名称 getValue()。我试过了,但对我来说它不起作用

下面是我的代码

 <html>
    <head>  
        <link rel="stylesheet" type="text/css" href="ui.dropdownchecklist.css" />
        <link rel="stylesheet" type="text/css" href="demo.css" />
        <script type="text/javascript" src="jquery.js"></script>
        <script type="text/javascript" src="ui.core.js"></script>
        <script type="text/javascript" src="ui.dropdownchecklist.js"></script>
        <script type="text/javascript">
            $(document).ready(function() {
               $("#cboLocation").dropdownchecklist({ firstItemChecksAll: true, maxDropHeight: 100 });
            });
            function getValue()
            {
                alert("hai");
                return false;
            }
        </script>
    </head>
    <body>

          <select name="cboLocation" class="width150" id="cboLocation" multiple="multiple" onChange="getValue()">
            <option>(all)</option>
            <option>Banana Nut</option>
            <option>Black Walnut</option>
            <option>Burgundy Cherry</option>
            <option>Butter Pecan</option>
            <option>Strawberry Cheesecake</option>
            <option>Turkish Coffee</option>
            <option>Vanilla</option>
          </select>

    </body>
    </html>

谢谢

4

1 回答 1

0

我从您的选择菜单中删除了 onChange 事件,因为它被 dropdownchecklist() 忽略。Dropdownchecklist() 正在用divsand替换您的选择元素inputs;因此,内联脚本没有被调用。

下面的代码做一件事:当用户完成与下拉菜单的交互时,当且仅当至少一个复选框被选中时,他们会看到警报消息“hai”。

<select name="cboLocation" class="width150" id="cboLocation" multiple="multiple">


$(document).ready(function() {
    $("#cboLocation").dropdownchecklist( {
        emptyText:'Select Something', // couldn't see the thing
        firstItemChecksAll: true,
        onComplete: function () { getValue() } //, alert('hello') }
    });

    function getValue() {
        if($('.ui-dropdownchecklist-item input:checked').length > 0) {
        alert('hai');
        }
    }       
});
于 2013-02-13T18:49:06.183 回答