我在屏幕上有几个单选按钮,当其中一个被选中时会出现一个下拉列表:
<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>
I then have some Jquery script to hide the SPAN when the "Stock Order" option is selected:
$('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 中却不行 - 选择了“Stock”单选,但下拉菜单不会在页面加载时隐藏(更改为部分,然后再返回将隐藏它)。我已经尝试在 else 语句中放置一个 Alert() ,并且正在显示,只是 SPAN 不会隐藏!
有任何想法吗?