我有一个“更改”按钮,可以在单击时激活或锁定表单。虽然按钮仅在我单击“更改”时起作用,然后不起作用:/
<div class="holder">
<div class="question active">Q1<input id="one" type="text">
<div class="button passive"><input type="button" value="Change" id="changeone"></div></div></div>
$('input#changeone').click(function() {
if( $('#one').attr('readonly', true) ) {
$("#changeone").attr('value', 'Save');
$('div.button').parent().css('background-color', 'red');
$('#one').attr('readonly', false);
} else {
$("#changeone").attr('value', 'Change');
$('div.button').parent().css('background-color', 'green');
$('#one').attr('readonly', true);
}
})
谢谢:)
**纠正缩进
谢谢大家!你们都回应得那么快,我感谢大家的时间:)
答案 0 :(得分:5)
您在<{1}} 设置 readonly
至true
,而不是 。您需要使用.attr(attributeName)
来获取值。
if
答案 1 :(得分:5)
需要检查这样的真实情况:
if( $('#one').attr('readonly') == true) )
你也可以只拥有readonly属性
<input readonly>
在这种情况下,请使用:
$('#one').is('[readonly="readonly"]') || $('#one').is('[readonly="true"]')
将两者合并为单一陈述:
var isReadonly = $('#one').attr("readonly");
if(isReadonly && isReadonly.toLowerCase()!=='false') {
// this is readonly
}
答案 2 :(得分:2)
试试这个
$('input#changeone').click(function() {
if( $('#one').attr('readonly')) {
$("#changeone").attr('value', 'Save');
$('div.button').parent().css('background-color', 'red');
$('#one').attr('readonly', false);
} else {
$("#changeone").attr('value', 'Change');
$('div.button').parent().css('background-color', 'green');
$('#one').attr('readonly', true);
}
})
答案 3 :(得分:2)
尝试这个
<div class="holder">
<div class="question active">Q1<input id="one" type="text">
<div class="button passive"><input type="button" value="Change" id="changeone"></div></div></div>
$('input#changeone').click(function() {
if( $('#one').attr('readonly') == true ) {
$("#changeone").attr('value', 'Save');
$('div.button').parent().css('background-color', 'red');
$('#one').attr('readonly', false);
} else {
$("#changeone").attr('value', 'Change');
$('div.button').parent().css('background-color', 'green');
$('#one').attr('readonly', true);
}
})
答案 4 :(得分:2)
$('#one').attr('readonly', true)
将readonly
属性设置为true
。您需要阅读它并将其与true
if ($('#one').attr('readonly') == true) // ...
答案 5 :(得分:2)
应该是
$('input #changeone')。click(function(){ if($('#one')。attr('readonly')){
$("#changeone").attr('value', 'Save');
$('div.button').parent().css('background-color', 'red');
$('#one').attr('readonly', false);
} else {
$("#changeone").attr('value', 'Change');
$('div.button').parent().css('background-color', 'green');
$('#one').attr('readonly', true);
}
})
代替