选择相反的单选按钮时,清除复选标记和下拉列表

时间:2014-12-16 16:04:22

标签: javascript jquery

单击相反的单选按钮时,如何清除复选框中的复选标记?由于某种原因,我无法明确表示有人请告诉我我做错了什么?我也想知道如果重新选择下拉菜单如果选择的话我也不能很好地掌握这个语法:/ $("#div12 > .clearfix input:select").val("");我哪里出错?



function showhideCOREForm(transferring_vehicle_license) {
    	if (transferring_vehicle_license == "Current") {
        	document.getElementById("div11").style.display = 'block';
        	document.getElementById("div12").style.display = 'none';
			$("#div12 > #secondYearCB").prop("checked", false);
        	FC.wantsASecondYear = false;
    	} else if (transferring_vehicle_license == "Expired") {
        	document.getElementById("div12").style.display = 'block';
        	document.getElementById("div11").style.display = 'none';
			$("#div6 > .clearfix input:text").val("");
		}
	}

<input type="radio" value="Current" name="transferring_vehicle_license" id="transferring_vehicle_license" required="yes" onclick="calculateTotal()" onchange="showhideCOREForm(this.value);"/><label for="transferring_vehicle_license">Current Registration</label>
		<input type="radio" value="Expired" name="transferring_vehicle_license" id="notransferring_vehicle_license" onclick="calculateTotal()" onchange="showhideCOREForm(this.value);"/><label for="notransferring_vehicle_license">Expired Registration</label>

<div id="div12" style="display:none">

	<div class="clearfix">
		<label for='CMonths' class="labelDoubleIndent">Calculate Months:</label>
		<select name="month1" id="month1" size="1">
    		<option value="">Choose a Month</option>
    		<option value="0">January</option>
    		<option value="1">February</option>
    		<option value="2">March</option>
    		<option value="3">April</option>
    		<option value="4">May</option>
    		<option value="5">June</option>
    		<option value="6">July</option>
    		<option value="7">August</option>
    		<option value="8">September</option>
    		<option value="9">October</option>
    		<option value="10">November</option>
    		<option value="11">December</option>
		</select>
		<select name="month2" id="month2" size="1">
    		<option value="">Choose an Option</option>
    		<option value="2">2</option>
    		<option value="14">14</option>
		</select>
		<select name="month3" id="month3" size="1">
    		<option value="">Choose an Option</option>
    		<option value="3">3</option>
    		<option value="15">15</option>
		</select>

		<div id="secondYear" class="labelDoubleIndent">
        	<b>Do you want to add a second year?</b>
        	Yes: <input type="checkbox" name="secondYear" id="secondYearCB" />
    	</div><!-- secondYear -->
	</div>
</div>

<div id="div11" style="display:none">

</div>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:3)

您使用的是错误的选择器:#secondYearCB不是#div12的第一个孩子。改为使用后代选择器:

$('#div12 #secondYearCB').prop("checked", false);

同样的原因是select - 选择不输入!只使用:

$("#div12 > .clearfix select").val("");

答案 1 :(得分:3)

两个选择器对CHECKBOX和SELECT都是错误的。

复选框,因为您在其中使用ID,只需使用ID:

$("#secondYearCB").prop("checked", false);

选择,它们不是INPUT,所以只使用&#34;选择&#34;字。

$("#div12 > .clearfix > select").val("");

P.s。:我添加&#34;&gt;&#34;只获得&#34; .clearfix&#34;中的直接SELECT子元素。 div,如果你不想要这个,只需删除它。

Selector: >