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

IT技术 javascript jquery html asp.net-mvc-3
2021-02-02 21:38:59

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

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

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

6个回答

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

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

看到输出 HTML 后更新

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

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

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

有类似的问题,值在浏览器中是可见的,但是当我用F12检查代码时,value=""保存后数据库中有空文件。
2021-03-14 21:38:59
@RojBeraña 浏览器是否会读取 $(document).ready 函数中的代码?将警报放在那里:<script type="text/javascript" language="javascript"> alert('entered'); $(function () {$('#EmployeeId').val("fgg"); }); </脚本>
2021-03-15 21:38:59
试过了,不工作.... 也试过 .textBoxEmployeeNumber input=[type="text"] ... 也不工作
2021-03-25 21:38:59
@using (Html.BeginForm()) { @Html.ValidationSummary(true) <fieldset> <legend>Reservation</legend> ......... <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>........
2021-03-30 21:38:59
<div class="editor-label"> <label for="EmployeeId">员工编号</label> </div> <div class="editor-field textBoxEmployeeNumber"> <input class="text-box single-line " data-val="true" data-val-number="EmployeeId 字段必须是数字。" data-val-required="EmployeeId 字段是必需的。" id="EmployeeId" name="EmployeeId" type="text" value="" /> <span class="field-validation-valid" data-valmsg-for="EmployeeId" data-valmsg-replace="true" ></span> </div>
2021-04-07 21:38:59

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

按输入名称选择:

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

按输入类选择:

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

按输入 ID 选择:

$('#textboxid').val('some value')
$(document).ready(function () {
    $('#EmployeeId').val("fgg");

    //Or
    $('.textBoxEmployeeNumber > input').val("fgg");

    //Or
    $('.textBoxEmployeeNumber').find('input').val("fgg");
});

对于带有 id 的元素

<input id="id_input_text16" type="text" placeholder="Ender Data"></input>

您可以将值设置为

$("#id_input_text16").val("testValue");

文档在这里

这是上课用的

$('.nameofdiv').val('we are developers');

对于 ID

$('#nameofdiv').val('we are developers');

现在如果你有一个你可以使用的形式的 iput

$("#form li.name input.name_val").val('we are awsome developers');