无法在ul内的div上绑定'onchange'事件

时间:2014-07-25 14:52:12

标签: jquery html html-lists bind onchange

我有这个HTML:

<ul>
<li>
    <a href="#">
        <div></div>
        Actions
        <div></div>
    </a>
    <ul>
        <li>
            <a>
                <div></div>
                Create New Entry
            </a>
        </li>
    </ul>
</li>
<li>
    <span>Client:<span>
    <select data-filter-name="clients" id="client_filter">
    <option value="0" {if $selectedClient == 0} selected {/if}>All</option>
    {foreach from=$clients key=k item=client}
    <option value="{$k}" {if $selectedClient == $k} selected {/if}>{$client}</option>
    {/foreach}
    </select>
</li>

在JS中,我试过这个:

$(document).ready(function() {
    $('#client_filter').on('change', function(){
        window.location = "/index.php?client_id=" +  $(this).val();
   });
});

事件&#39; onchange&#39;没附加! 当我点击选择框时,没有任何事情发生。为什么? 如果我将选择框放在外面就可以了。

3 个答案:

答案 0 :(得分:1)

您没有关闭更改功能

$(document).ready(function() {
$('#client_filter').on('change', function(){
    window.location = "/index.php?client_id=" +  $(this).val();
})//end change function
})//end ready

答案 1 :(得分:0)

关闭你的功能

$(document).ready(function() {
    $('#client_filter').on('change', function(){
        window.location = "/index.php?client_id=" +  $(this).val();
    });

});

答案 2 :(得分:0)

您错过了事件处理程序的右括号。

$(document).ready(function() {
    $('#client_filter').on('change', function(){
        window.location = "/index.php?client_id=" +  $(this).val();
    });
});