0

我有以下 ajax 请求,它创建了一个链接,当单击该链接时,将我标记为“testDiv”的 div 替换为我通过方法“ControllerMethod”从控制器返回的一些信息:

<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>

当用户在下面的下拉列表中选择任何内容时,我将如何以与上述相同的方式进行网页回复:

<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

您的<div>元素选择器不正确。由于您尝试根据其id属性选择它,因此您需要使用 ID 选择器:

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

change尝试绑定事件处理程序时,选择器也有同样的问题。

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