0

私は単純なカスケードDropDownを機能させるために本当に戦っています。私は非常に基本的な例をやっていますが、失敗しています。だから私は基本に立ち返って にどのように結びつくかを見ようとしていeventsますcontrols

私はこれを持っています:

    <script type="text/javascript">
$(document).ready(function() {

    $('#CarMakeId').change(function () {
        alert("khsdhf")
    }); 
})
</script>

    <html>
    <head>
        <title>Index</title>
    </head>
    <body>
        <div>
            Make: @Html.DropDownListFor(x=>x.CarMakeId,
                    new SelectList(Model.CarMakes, "Value", "Text"), 
                    "-- select make --") <br />
            Model: @Html.DropDownListFor(x=>x.CarModelId,
                     new SelectList(Model.CarModels, "Value", "Text"), 
                     "-- select model --")         
        </div>
    </body>
    </html>

今のところやりたいことは、ドロップダウンで選択を変更したときにアラートを出すことだけです。しかし、私"Object expectedJava Script.

レンダリングされた HTML は次のとおりです。

<!DOCTYPE html>
<script type="text/javascript"> 
    $(document).ready(function () {

        $('#CarMakeId').change(function () {
            alert("khsdhf");
        });
    })
</script>
<html>
<head>
    <title>Index</title>
</head>
<body>
    <div>
<form action="/" method="post">            <p>
            Make: <select data-val="true" data-val-number="The field CarMakeId must be a number." data-val-required="The CarMakeId field is required." id="CarMakeId" name="CarMakeId"><option value="">-- select make --</option>
<option value="1">BMW</option>
<option selected="selected" value="2">Ford</option>
<option value="3">Toyota</option>
</select>
            <br />
            Model: <select data-val="true" data-val-number="The field CarModelId must be a number." data-val-required="The CarModelId field is required." id="CarModelId" name="CarModelId"><option value="">-- select model --</option>
<option value="5">Mustang</option>
<option selected="selected" value="6">Territory</option>
<option value="7">Focus</option>
</select>
        <br />
        <input type="submit" name="Submit" title="Submit" />
        </p>
</form>    </div>
</body>
</html>

追加情報:

これは同じエラーを出しています:

<script type="text/javascript">
    $(document).ready(function () {
        alert("Hello");
    })
</script>
4

3 に答える 3

0

$(document).readyイベントハンドラーを追加する前に、ドロップダウンが存在することを確認するために追加してみてください。

<script type="text/javascript">
$(document).ready(function(){
    $('#CarMakeId').change(function () {
        alert("khsdhf")
    });
}); 
</script> 

readyDOMがロードされると起動します。詳細はこちらhttp://api.jquery.com/ready/

于 2012-09-18T02:52:18.183 に答える
0

問題は、JQuery スクリプトのリンクがなかったことです。

<script src="../../Scripts/jquery-1.5.1.js" type="text/javascript"></script>
于 2012-09-18T10:11:43.700 に答える
0

ページの JavaScript エラーを確認します。セミコロンがない可能性があります。alert() 行の最後に。IE9 の「開発者ツール」または Firefox の「Firebug」を使用してデバッグすることもできます。

于 2012-09-18T03:50:38.903 に答える