2013-10-18 33 views
1

在下面的代碼,我用一個單選按鈕,顯示兩個不同的textarea命名textAtextB如果語句來檢查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; 

} 
}); 

面臨的問題: 如果我切換從textAtextB,這表明在error div消息沒有隱藏eventhough我已經加入$("#error").slideUp("fast");($("#textA").prop("disabled"))

這裏是fiddle setup對於同一問題

+0

你的小提琴設置爲我工作。你正在使用哪種瀏覽器? – Jan

+0

我嘗試過使用chrome和FF。我在這裏看到的是你使用文本框時看到的信息如果我切換到文本框B,需要隱藏 – acr

回答

1

錯誤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