【发布时间】:2017-03-03 20:54:02
【问题描述】:
我必须根据单选点击选项和隐藏的文本字段 appMajor 值隐藏或显示站点 div 下拉列表。当单选按钮为“Y”且主要为“EN”时,站点 div 下拉菜单可见,否则应隐藏。 我在访问 appMajor 隐藏值时遇到问题。这就是我达到的程度。
<script>
$(document).ready(function(){
var selectedDecision =" ";
$(".submitDecision ").on("click", "input:radio[name=decision]",function(){
var formId = $(this).closest("form").attr("Id"); //
var strMajor = formId.find("#appMajor").val(); //TypeError: formId.find is not a function
if ($(this).attr("value")== "Y" && strMajor =="EN"){
selectedDecision = "Y" ;
$("#selectSiteCodeDiv").show();
}
else if ($(this).attr("value")=="N" && strMajor !="EN") {
selectedDecision = "N" ;
$("#selectSiteCodeDiv").hide();
}
else if ($(this).attr("value")=="C" && strMajor !="EN") {
selectedDecision = "C" ;
$("#selectSiteCodeDiv").hide();
}
});
});
</script>
<!DOCTYPE html>
<title>submit demo</title>
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
<body>
<h1> This is a Demo </h1>
<table id="exampleTable" border="1" cellpadding="10" align="center">
<tr>
<td>
<input type="button" value="Input Button">
</td>
<td>
<input type="checkbox">
</td>
<td>
<input type="file">
</td>
<td>
<form class="submitDecision" id="submitDecisionform' ||sNum||'">
<div class="decisionMessage"></div>
<input type="radio" id="decisionAccept" name="decision" class="decisionRadio" checked="" value="Y">Accept
<input type="radio" id="decisionDeny" name="decision" class="decisionRadio" value="N">Deny
<input type="radio" id="decisionClear" name="decision" class="decisionRadio" value="C">
Clear Decision
<input type="hidden" id="sNum" value="">
<input type="hidden" id="appNum" value="">
<input type="hidden" id="appMajor" value="">
<div style="font-weight:bold;margin :10px 0px 10px 0px;"> Deny reasons</div>
<select id="denyReason" style="margin-bottom:1em;">
<option value="0">*** If denied, please make a selection ****</option>
<option value="1">Reason1</option>
<option value="2">Reason2</option>
<option value="3">Reason3</option>
<option value="4">Reason4</option>
</select> <br>
<b>Site</b> <span id="site_span"></span><br>
<div id="selectSiteCodeDiv" class="selectSite" style="font-weight:bold;margin :10px 0px 10px 0px;">
<select id="selectedSiteCode">
<option value="0">*** Please make a site selection ****</option>;
<option value="A">SiteA</option>
<option value="B">SiteB</option>
</select>
</div>
<p> </p><br>
<input value="Submit" type="submit">
</form>
</td>
<tr>
<td>
<input type="button" value="Input Button">
</td>
<td>
<input type="checkbox">
</td>
<td>
<input type="file">
</td>
<td>
<form class="submitDecision" id="submitDecisionform' ||sNum||'">
<div class="decisionMessage"></div>
<input type="radio" id="decisionAccept" name="decision" class="decisionRadio" checked="" value="Y">Accept
<input type="radio" id="decisionDeny" name="decision" class="decisionRadio" value="N">Deny
<input type="radio" id="decisionClear" name="decision" class="decisionRadio" value="C">
Clear Decision
<input type="hidden" id="sNum" value="">
<input type="hidden" id="appNum" value="">
<input type="hidden" id="appMajor" value="">
<div style="font-weight:bold;margin :10px 0px 10px 0px;"> Deny reasons</div>
<select id="denyReason" style="margin-bottom:1em;">
<option value="0">*** If denied, please make a selection ****</option>
<option value="1">Reason1</option>
<option value="2">Reason2</option>
<option value="3">Reason3</option>
<option value="4">Reason4</option>
</select>
<br>
<b>Site</b> <span id="site_span"></span><br>
<div id="selectSiteCodeDiv" class="selectSite" style="font-weight:bold;margin :10px 0px 10px 0px;">
<select id="selectedSiteCode">
<option value="0">*** Please make a site selection ****</option>;
<option value="A">SiteA</option>
<option value="B">SiteB</option>
</select>
</div>
<p> </p><br>
<input value="Submit" type="submit">
</form>
</td>
</tr>
</form>
</table>
</body>
</html>
【问题讨论】:
-
缺少很多结束标签...例如
</input>。检查您的table和form结构。在尝试在其上应用一些 jQuery 之前,您应该对您的 HMTL 代码做出努力。 ;) 粘贴您的 HTML here 以查看需要改进的地方。那将是我的第一步。 ;) -
@Louys Patrice Bessette,想想你的建议。我会尝试检查我的错误并返回。