0

クリックすると、「testDiv」というラベルの付いたdivを、メソッド「ControllerMethod」を介してコントローラーから返された情報に置き換えるリンクを作成する次のajaxリクエストがあります。

<div class ="editor-field" id ="clickableAjax">
    @Ajax.ActionLink("Click Here to replace testDiv", "ControllerMethod", new AjaxOptions
                                                    {
                                                        UpdateTargetId = "testDiv",
                                                        HttpMethod="GET",
                                                        InsertionMode= InsertionMode.Replace,
                                                    }))
</div>
<div id="testDiv">
</div>

ユーザーが以下のドロップダウンリストで何かを選択したときに、上記と同じ方法でWebページを返信するにはどうすればよいですか?

<div>
        @Html.DropDownListFor(x => x.Selected, Model.MyModel, "Custom")
        @Html.ValidationMessageFor(model => model.Courses)
</div>

私は次の行に沿って何かを試しました:

$(document).ready(function () {
    $("Selected").change(function () {
        $("testDiv").replaceWith('<h2>test text</h2>');
    });
});

. . . ユーザーがドロップダウンで選択したときにページに何かをさせようとするだけですが、何も起こっていないかのようです-ユーザーはドロップダウンで何でも選択でき、何も変わりません。

注: jquery で ID "Selected" を使用してドロップダウン リストを選択しようとしていますが、これは正しくありませんか? 上記の方法でドロップダウンを作成した場合、ドロップダウンの ID はどうなりますか?

4

2 に答える 2

1
$(document).ready(function () {
    $("#Selected").change(function () {
        $("#testDiv").html('<h2>test text</h2>');
    });
});
于 2012-04-17T12:25:11.233 に答える
1

要素のセレクター<div>が正しくありません。属性に基づいて選択しようとしているのでid、ID セレクターを使用する必要があります。

$('#testDiv').replaceWith('<h2>test text</h2>');

changeイベントハンドラーをバインドしようとすると、セレクターにも同じ問題があります。

于 2012-04-17T12:24:43.947 に答える