画面にいくつかのラジオ ボタンがあり、そのうちの 1 つを選択するとドロップダウンが表示されます。
<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>
次に、「株式注文」オプションが選択されているときに SPAN を非表示にする Jquery スクリプトがあります。
$('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 だけが非表示になりません!
何か案は?