我有一对夫妇单选按钮的屏幕上,与当选择其中之一时出现的下拉列表:
<div class="sectionContent">
<input type="radio" value="Parts" name="Order.OrderType" @if(Model.Order.OrderType=="Parts" ){ <text>checked</text>} />Parts Order
<br /> <span id="TieToJob">
<table>
<tr><td style="width:150px">Job</td><td>@Html.DropDownListFor(modelItem => Model.Order.JobID, new SelectList(ViewBag.ActiveJobs, "Value", "Text", Model.Order.JobID), "## Please Select ##")</td></tr>
</table>
</span>
<input type="radio" value="Stock" name="Order.OrderType" @if(Model.Order.OrderType=="Stock" ){ <text>checked</text>} />Stock Order
<br />
</div>
然后,我有一些jQuery脚本隐藏SPAN选择了“股票订单”选项时:
$('input[name=Order.OrderType]').click(function () {
if ($('input[name=Order.OrderType]:checked').val() == "Parts") {
$("#TieToJob").show("slow");
}
else {
$("#TieToJob").hide("slow");
}
});
当在库存/零件之间切换时,以上代码可以正常工作。
但是,如果用户正在编辑现有的库存记录,那么我希望默认情况下隐藏下拉列表。我正在使用以下代码来做到这一点:
$(document).ready(function(){
if ($('input[name=Order.OrderType]:checked').val() == "Parts") {
$("#TieToJob").show("slow");
}
else
{
$("#TieToJob").hide("slow");
}
});
这在IE中似乎可以正常工作,但在chrome中则不能正常工作-已选中“股票”单选按钮,但下拉菜单不会在页面加载时隐藏(更改为零件,然后再次将其隐藏)。我尝试将Alert()放入else语句中,并且正在显示该内容,只是SPAN不会隐藏!
有任何想法吗?
您需要.
在字段名称中转义。尝试这个:
$(document).ready(function(){
if ($('input[name=Order\\.OrderType]:checked').val() == "Parts") {
$("#TieToJob").show("slow");
}
else
{
$("#TieToJob").hide("slow");
}
});
或者,您可以在属性值周围使用引号:
if ($('input[name="Order.OrderType"]:checked').val() == "Parts") {
// code...
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句