如何使用jQuery设置输入文本的值

2022-08-29 23:39:41

我有一个输入文本,它是这样的:

<div class="editor-label">
    @Html.LabelFor(model => model.EmployeeId, "Employee Number")
</div>

<div class="editor-field textBoxEmployeeNumber">
    @Html.EditorFor(model => model.EmployeeId) 
    @Html.ValidationMessageFor(model => model.EmployeeId)
</div>

哪个产生以下 html

<div class="editor-label">
  <label for="EmployeeId">Employee Number</label>
</div>

<div class="editor-field textBoxEmployeeNumber">
  <input class="text-box single-line" data-val="true" data-val-number="The field EmployeeId must be a number." data-val-required="The EmployeeId field is required." id="EmployeeId" name="EmployeeId" type="text" value="" />

  <span class="field-validation-valid" data-valmsg-for="EmployeeId" data-valmsg-replace="true"></span>
</div>

我想使用jquery设置此输入文本的值,所以我这样做了:

<script type="text/javascript" language="javascript">
    $(function() {
        $('.textBoxEmployeeNumber').val("fgg");
    });
</script> 

但是,它不起作用...我的语法中有什么错误?


答案 1

您的选择器正在检索文本框的周围,而不是其中的输入。<div class='textBoxEmployeeNumber'>

// Access the input inside the div with this selector:
$(function () {
  $('.textBoxEmployeeNumber input').val("fgg");
});

看到输出 HTML 后更新

如果 ASP.NET 代码可靠地输出带有id属性的HTML,您可以更简单地使用:<input>id='EmployeeId'

$(function () {
  $('#EmployeeId').val("fgg");
});

如果失败,您将需要在浏览器的错误控制台中验证您是否没有其他脚本错误导致此操作失败。上面的第一个示例在此演示中工作正常。


答案 2

使用jQuery,我们可以使用以下代码:

按输入名称选择:

$('input[name="textboxname"]').val('some value')

按输入类选择:

$('input[type=text].textboxclass').val('some value')

按输入 ID 选择:

$('#textboxid').val('some value')