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