我在jquery中开发了一个下拉类别和子类别菜单。该脚本适用于Firefox,Chrome但不适用于IE6。你能指导我解决这个问题吗
<script type="text/javascript">
$(document).ready(function() {
$('#loader').hide();
$('#show_heading').hide();
$('#search_category_id').change(function() {
$('#show_sub_categories').fadeOut();
$('#loader').show();
$.post("get_chid_categories.php",
{
parent_id: $('#search_category_id').val(),
},
function(response) {
setTimeout("finishAjax('show_sub_categories', '"+escape(response)+"')", 400);
}
);
return false;
});
});
function finishAjax(id, response){
$('#loader').hide();
$('#show_heading').show();
$('#'+id).html(unescape(response));
$('#'+id).fadeIn();
}
function alert_id() {
if($('#sub_category_id').val() == '')
alert('Please select a sub category.');
else
alert($('#sub_category_id').val());
return false;
}
</script>
答案 0 :(得分:3)
正如其他人所说,您需要指定错误是什么以及错误发生的位置(即IE给您的错误消息)。
如果您格式化代码以使其更具可读性,我认为您会发现语法错误:
$(document).ready(function() {
$('#loader').hide();
$('#show_heading').hide();
$('#search_category_id').change(function(){
$('#show_sub_categories').fadeOut();
$('#loader').show();
$.post("get_chid_categories.php",
{
parent_id: $('#search_category_id').val(),
},
function(response){
setTimeout("finishAjax('show_sub_categories', '" +
escape(response) +
"')",
400);
}
);
return false;
});
}); // <-- that is extra
function finishAjax(id, response) {
$('#loader').hide();
$('#show_heading').show();
$('#'+id).html(unescape(response));
$('#'+id).fadeIn();
}
function alert_id() {
if ($('#sub_category_id').val() == '') {
alert('Please select a sub category.');
} else {
alert($('#sub_category_id').val());
}
return false;
}
答案 1 :(得分:1)
您已声明doc-type?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
您的HTML可能不正确。这可能是一个HTML问题。
请提供您的HTML。
答案 2 :(得分:1)
在setTimeout中删除了escape | unescape和eval。
<script type="text/javascript">
$(document).ready(function() {
$('#loader').hide();
$('#show_heading').hide();
$('#search_category_id').change(function() {
$('#show_sub_categories').fadeOut();
$('#loader').show();
$.post("get_chid_categories.php",
{
parent_id: $('#search_category_id').val(),
},
function(response) {
// CHANGED
var f=function(){finishAjax('show_sub_categories',response);};
setTimeout(f, 400);
}
);
return false;
});
});
function finishAjax(id, response){
$('#loader').hide();
$('#show_heading').show();
// CHANGED
$('#'+id).html(response);
$('#'+id).fadeIn();
}
function alert_id() {
if($('#sub_category_id').val() == '')
alert('Please select a sub category.');
else
alert($('#sub_category_id').val());
return false;
}
</script>