2017-09-27 130 views
0

我有2个单选按钮。当单击第一个单选按钮文本框将打开,当点击另一个单选按钮时第二个文本框将打开..现在我想当我点击在第二个单选按钮上,第一个单选按钮文本框应该清晰。如何通过单击另一个单选按钮清除第一个单选按钮文本框的值

查看:

<label>Assign Credit Limit Amount/Days</label><br> 
<label for="chkYes">Credit Amount</label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<input type="radio" id="chkYes" name="chkPassPort" onclick="ShowHideDiv()"/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 

<label for="chkNo">Day</label>&nbsp;&nbsp;&nbsp;&nbsp; 

<input type="radio" id="chkNo" name="chkPassPort" onclick="ShowHideDiv()" /> 
<div id="creditAmount" style="display: none"><br> 
    <label for="creditAmount">Credit Amount</label> 
    <input type="text" class="form-control" id="creditAmount" placeholder="creditAmount" name="creditAmount" maxlength="128"> 
</div> 
<div id="day" style="display: none"><br> 
    <label for="day">Day</label> 
    <input type="text" class="form-control" id="day" placeholder="day" name="day" maxlength="128"> 
</div> 
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script> 

的javascript:

<script type="text/javascript"> 
    function ShowHideDiv() { 
     var chkYes = document.getElementById("chkYes"); 
     var chkNo = document.getElementById("chkNo"); 
     var creditAmount = document.getElementById("creditAmount"); 
     creditAmount.style.display = chkYes.checked ? "block" : "none"; 
     var day = document.getElementById("day"); 
     day.style.display = chkNo.checked ? "block" : "none"; 
    } 
</script> 
+0

你能详细阐述一下你的要求吗? –

+0

最简单的解决方案是: document.getElementById(id_of_textbox).value =“”; – Calaris

回答

0

如果条件添加和真实,复位输入的值:

if (chkNo.checked) { 
     creditAmount.querySelector('input').value = ''; 
    } 

function ShowHideDiv() { 
 
    var chkYes = document.getElementById("chkYes"); 
 
    var chkNo = document.getElementById("chkNo"); 
 

 
    var creditAmount = document.getElementById("creditAmount"); 
 
    creditAmount.style.display = chkYes.checked ? "block" : "none"; 
 
    var day = document.getElementById("day"); 
 
    day.style.display = chkNo.checked ? "block" : "none"; 
 
    
 
    if (chkNo.checked) { 
 
     creditAmount.querySelector('input').value = ''; 
 
    } 
 
}
<label>Assign Credit Limit Amount/Days</label><br> 
 
           <label for="chkYes">Credit Amount</label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
 

 
           <input type="radio" id="chkYes" name="chkPassPort" onclick="ShowHideDiv()"/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
 

 
           <label for="chkNo">Day</label>&nbsp;&nbsp;&nbsp;&nbsp; 
 

 
           <input type="radio" id="chkNo" name="chkPassPort" onclick="ShowHideDiv()" /> 
 

 
            <div id="creditAmount" style="display: none"><br> 
 
            <label for="creditAmount">Credit Amount</label> 
 
            <input type="text" class="form-control" id="creditAmount" placeholder="creditAmount" name="creditAmount" maxlength="128"> 
 
            </div> 
 

 
            <div id="day" style="display: none"><br> 
 
            <label for="day">Day</label> 
 
            <input type="text" class="form-control" id="day" placeholder="day" name="day" maxlength="128"> 
 
            </div>

+0

是的!我知道了,它的工作原理!!! ...谢谢你。 –

+0

不客气。 – JiangangXiong

0

要清除使用纯JavaScript输入字段的值可以使用:

document.getElementById("creditAmount").value = ""; 

这不会工作你的情况,因为你在你的HTML有多个creditAmount标识:

<div id="creditAmount" style="display: none"><br> 

and

<input type="text" class="form-control amount-input" id="creditAmount" placeholder="creditAmount" name="creditAmount" maxlength="128"> 
0

您可以添加条件以跟踪哪个按钮被点击以及要清除哪些输入文本。

<script type="text/javascript"> 
function ShowHideDiv() { 
var chkYes = document.getElementById("chkYes"); 
var chkNo = document.getElementById("chkNo"); 
var creditAmount = document.getElementById("creditAmount"); 
creditAmount.style.display = chkYes.checked ? "block" : "none"; 
var day = document.getElementById("day"); 
day.style.display = chkNo.checked ? "block" : "none"; 

# condition goes here to clear input value 
chkYes.checked ? creditAmount.getElementsByTagName('input')[0].value = "" : day.getElementsByTagName('input')[0].value = "" 
</script> 
相关问题