Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用change();同一div两次导致问题_Javascript_Jquery - Fatal编程技术网

Javascript 使用change();同一div两次导致问题

Javascript 使用change();同一div两次导致问题,javascript,jquery,Javascript,Jquery,更新**这可能是太多的代码。但是情况是这样的。我在这一页的顶部进行了搜索。我使用了一些奇特的jQuery,所以当你点击一个select optioncategor时,它旁边会出现一个新的select optiontype。现在,我有另一个改变事件。在键入任何文本字段或更改任何选择时,将触发ajax搜索。这适用于除类型以外的所有类型。类型是更改时从类别中弹出的选择选项;所以,我需要改变工作类型。下面是弹出类型选择选项的代码。你可以略读一下。代码运行良好 $(document).ready(

更新**这可能是太多的代码。但是情况是这样的。我在这一页的顶部进行了搜索。我使用了一些奇特的jQuery,所以当你点击一个select optioncategor时,它旁边会出现一个新的select optiontype。现在,我有另一个改变事件。在键入任何文本字段或更改任何选择时,将触发ajax搜索。这适用于除类型以外的所有类型。类型是更改时从类别中弹出的选择选项;所以,我需要改变工作类型。下面是弹出类型选择选项的代码。你可以略读一下。代码运行良好

    $(document).ready(function() {

    $('#category').change(function() {

        var category = $('#category').val();
        //CATEGORIES...

            // any_type / NULL
            var any_category = '<div id="type_holder_line"></div>';
            // Music
            var music = '<div id="type_text">Type</div><img src="app/search/images/arrow.gif" id="arrow" /><select name="music_type" id="type"><option value="any_style" selected="selected">Any Style</option><option value="Jazz">Jazz</option><option value="Rock">Rock</option></select>';

            // Restaurants
            var restaurant = '<div id="type_text">Type</div><img src="app/search/images/arrow.gif" id="arrow" /><select name="restaurant_type" id="type"><option value="Japanese">Japanese</option><option value="Mexican">Mexican</option></select>';

            if($(this).val() == 'Any Category') {
                $('#type_holder').html(any_category);
                }

            if($(this).val() == 'music_page') {
                $('#type_holder').html(music);
                }
            if($(this).val() == 'restaurant_page') {
                $('#type_holder').html(restaurant);
                }
            });

我想你应该试试这个功能。因为live函数处理动态创建的元素,但您可以阅读更多文档:

因此,您可以尝试以下方法:

$('#loc, #dist, #category, #type, #search_title').live('keyup change', function(){
// code here
});
请阅读手册,因为我现在看到jquery 1.7不推荐使用.live函数,请为您的jquery版本选择合适的函数


我希望这能解决您的问题,并为我的英语感到抱歉:>

更新。有点乱。但这是一个非常奇怪的怪癖。如果您使用的是jQuery1.7,.live被弃用为.on。
$('#loc, #dist, #category, #type, #search_title').live('keyup change', function(){
// code here
});