再次是我:) 一些有用的成员帮助我使脚本工作,但我遇到了一个砖墙,我想要一个IF语句。它看起来像这样:
$(document).ready(function() {
$("input[type='button']").click(function() {
switch(this.id) {
case:'buttonone':
if( $('#one').attr('readonly')) {
$("#changeone").attr('value', 'Save');
$('#one').attr('readonly', false);
$('#one').addClass('focusField');
$("#questiononetext").html("When do you want to go out?");
} else {
$("#changeone").attr('value', 'Change');
$('#one').attr('readonly', true);
$('#one').removeClass('focusField');
$("#questiononetext").html("Date: ");
} break;
case 'buttontwo': $("#questiononetext").html("Content changed"); break;
case 'buttonthree': $("#content").html("Content changed again"); break;
}
});
});
注意CASE后面的内容:buttonone,我尝试了一个if语句,这打破了整个脚本。有没有人有任何想法为什么会这样?谢谢:))))
答案 0 :(得分:4)
你的switch语句是多余的,唯一的原因就是你在多个按钮上使用相同的click
处理程序,但它们没有任何共同之处。
相反,你应该有3个click
处理程序:
$('#buttonone').click(function(){
...
});
$('#buttontwo').click(function(){
...
});
$('#buttonthree').click(function(){
...
});
buttonone处理程序中的if
语句完全合法。
答案 1 :(得分:1)
不确定是“case:buttonone”中“case”之后的额外冒号。请检查
答案 2 :(得分:1)
我认为在CASE中的IF没有问题。问题可能是$('#one').attr('readonly')
。 use可以在这里使用data
属性。我测试$('#one').attr('readonly')
无效。