我一直在努力将这项工作放在Firefox上。希望有人帮助我!
基本上; Firefox忽略按钮单击功能及其子功能,按钮发布页面而不是运行jquery代码。
适用于IE和Chrome,但不适用于Firefox。
提前感谢您的帮助。
这是输出代码:
<script type="text/javascript" language="javascript">
$(document).ready(function() {
$(".CatList li").click(function() {
if ($(this).is(".selected")) {
$(this).attr("class", "");
$('#ctl00_ContentPlaceHolderRight_CatChanged').val(1);
return false;
}
else {
$(this).attr("class", "selected");
$('#ctl00_ContentPlaceHolderRight_CatChanged').val(1);
return false;
}
});
$("#ctl00_ContentPlaceHolderRight_btnSave").click(function() {
var elements = $("li.selected");
if (elements.val() == null) {
alert("You must select at least one category");
return false;
}
else {
elements.each(function() {
$('#ctl00_ContentPlaceHolderRight_CatChecked').val($('#ctl00_ContentPlaceHolderRight_CatChecked').val() + "," + $(this).attr("id"));
return true;
});
}
});
});
</script>
答案 0 :(得分:2)
你知道firebug Firefox扩展吗?它对Firefox上的调试Javascript非常有用。
Firebug还包括一个Javascript控制台,您可以在其中测试您的功能。
答案 1 :(得分:0)
不要检查null
- 尝试坚持jQuery确保的undefined
。检查elements.val()
返回开始的内容(仅alert
)。
另外,preventDefault()
条款中没有return false
或else
,这可能是Firefox提交网页的原因。
答案 2 :(得分:0)
谢谢tjko,使用提醒保存了我的一天。我太糊涂了。我已经改变了下面的代码,一切都很完美:
var elements = $("li.selected");
elements.each(function() {
$('#<%=CatChecked.ClientID%>').val($('#<%=CatChecked.ClientID%>').val() + "," + $(this).attr("id"));
});
if ($('#<%=CatChecked.ClientID%>').val() == "") {
alert("You must select at least one category");
return false;
}
else {
//alert($('#<%=CatChecked.ClientID%>').val());
return true;
}