如果语句来检查jQuery的道具(“禁用”)不工作
问题描述:
在下面的代码,我用一个单选按钮,显示两个不同的textarea
命名textA
和textB
如果语句来检查jQuery的道具(“禁用”)不工作
<input onClick="optionA();" type="radio" name="button2" value="Yes" checked /><label>Option A</label>
<input onClick="optionB();" type="radio" name="button2" value="No" /><label>Option B</label>
<div id="textA" >
<div class="input"><span><textarea class="textarea" id="textboxA" name="textA" type="text"></textarea></span> </div>
</div>
<div id="textB" style="display:none;">
<div class="input"><span><textarea class="textarea" id="textboxB" name="textB" type="text"></textarea></span> </div>
</div>
<div id="error" style="display:none;"></div>
如果我选择textA
文本区域,并添加数据对此,它将在文本框Currently Textbox A in use
和文本B Currently Textbox B in use
下方显示一条消息。我用下面的代码为:
function optionA() {
$('#textA').prop("disabled",false);
$('#textA').slideDown("fast");
document.getElementById("textboxB").value="";
$('#textB').slideUp("fast");
$('#textB').prop("disabled",true);
}
function optionB() {
$('#textB').prop("disabled",false);
$('#textB').slideDown("fast");
document.getElementById("textboxA").value="";
$('#textA').slideUp("fast");
$('#textA').prop("disabled",true);
}
$("#textboxA").keyup(function() {
if((!$("#textboxA").val()) || ($("#textA").prop("disabled"))){
$("#error").slideUp("fast");
}
else{
var message;
message ="Currently TextboxA in use";
$("#error").slideDown("fast");
document.getElementById('error').innerHTML=message;
}
});
$("#textboxB").keyup(function() {
if((!$("#textboxB").val()) || ($("#textB").prop("disabled"))){
$("#error").slideUp("fast");
}
else{
var message;
message ="Currently TextboxB in use";
$("#error").slideDown("fast");
document.getElementById('error').innerHTML=message;
}
});
面临的问题: 如果我切换从textA
到textB
,这表明在error div
消息没有隐藏eventhough我已经加入$("#error").slideUp("fast");
为($("#textA").prop("disabled"))
这里是fiddle setup对于同一问题
答
错误div的隐藏在textareas的“keyup”侦听器中执行。只需单击其中一个单选按钮即可轻松切换文本区。您需要将滑块添加到函数optionA()和optionB()。例如:
function optionA() {
$('#textA').prop("disabled",false);
$('#textA').slideDown("fast");
document.getElementById("textboxB").value="";
$('#textB').slideUp("fast");
$('#textB').prop("disabled",true);
$("#error").slideUp("fast");
}
查看更改小提琴:Fiddle
你的小提琴设置为我工作。你正在使用哪种浏览器? – Jan
我尝试过使用chrome和FF。我在这里看到的是你使用文本框时看到的信息如果我切换到文本框B,需要隐藏 – acr