0

我的 asp.net mvc3 页面有问题。我有一个视图,其中有一个表单来创建特定模型的项目。它看起来像这样:

@model testPro.Models.AddItemModel
@{
    ViewBag.Title = "New";
}
@*<h2>New</h2>*@

<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
@using (Html.BeginForm())
{
    @Html.ValidationSummary(true)

    <fieldset>
        <legend>New Item</legend>

                <div class="editor-label">
                    @Html.LabelFor(model => model.UserItem.name)
                </div>
                <div class="editor-field">
                    @Html.EditorFor(model => model.UserItem.name)
                    @Html.ValidationMessageFor(model => model.UserItem.name)
                </div>
        <p>
            <input type="submit" value="Create" />
        </p>
    </fieldset>
}
<div>
    @Html.ActionLink("Back to List", "Index")
</div>

<script>
    $(document).ready(function () {

        alert("test");
        $("#UserItem_Name").html("bla");
        $("#UserItem_Name").attr('disabled');
    });
</script>

最后我有我的 jquery 东西,应该改变文本框。

问题是,什么都没有改变,我不知道为什么

是的:我在标题中包含了 jquery。

4

1 回答 1

1

尝试:

<script type="text/javascript">
    $("#UserItem_name").val('bla');
    $("#UserItem_name").attr('disabled', 'disabled');
</script>

注意事项:

  • 您的文本框 id 是UserItem_nameUserItem_Name这显然不是一回事
  • 用于.val()设置表单输入字段的值,而不是.html()
  • .attr()当您要设置属性值时,该方法采用 2 个参数:1) 属性名称和 2) 属性值。您当前只传递一个参数,因此您基本上是在读取属性值,而不是设置它。

此外,如果此代码位于您在 AJAX 请求后注入 DOM 的局部视图中,则应删除该$(document).ready处理程序。

于 2012-07-05T09:20:29.107 回答