Как установить значение входного текста с помощью jQuery
У меня есть текст для ввода:
<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>
Ответы
Ответ 1
Ваш селектор извлекает текстовое поле, окружающее <div class='textBoxEmployeeNumber'>
, вместо ввода внутри него.
// Access the input inside the div with this selector:
$(function () {
$('.textBoxEmployeeNumber input').val("fgg");
});
Обновление после просмотра вывода HTML
Если код ASP.NET надежно выводит HTML <input>
с атрибутом id id='EmployeeId'
, вы можете просто просто использовать:
$(function () {
$('#EmployeeId').val("fgg");
});
В противном случае вам нужно будет проверить в консоли ошибок вашего браузера, что у вас нет других ошибок script, из-за которых это приведет к сбою. Первый пример выше работает правильно в этой демонстрации.
Ответ 2
Используя jQuery, мы можем использовать следующий код:
Выбрать по имени ввода:
$('input[name="textboxname"]').val('some value')
Выбрать по классу ввода:
$('input[type=text].textboxclass').val('some value')
Выбрать по идентификатору ввода:
$('#textboxid').val('some value')
Ответ 3
$(document).ready(function () {
$('#EmployeeId').val("fgg");
//Or
$('.textBoxEmployeeNumber > input').val("fgg");
//Or
$('.textBoxEmployeeNumber').find('input').val("fgg");
});
Ответ 4
Для элемента с id
<input id="id_input_text16" type="text" placeholder="Ender Data"></input>
Вы можете установить значение как
$("#id_input_text16").val("testValue");
Документация здесь.
Ответ 5
это для занятий
$('.nameofdiv').val('we are developers');
для идентификаторов
$('#nameofdiv').val('we are developers');
теперь, если у вас есть iput в форме, вы можете использовать
$("#form li.name input.name_val").val('we are awsome developers');
Ответ 6
Вот еще одна вариация для загрузки файла, у которой есть более удобная кнопка загрузки, чем кнопка загрузки файла по умолчанию. Это html:
<div class="form-group">
@Html.LabelFor(model => model.FileName, htmlAttributes: new { @class = "col-md-2 control-label" })
<div class="col-md-1 btn btn-sn btn-primary" id="browseButton" onclick="$(this).parent().find('input[type=file]').click();">browse</div>
<div class="col-md-7">
<input id="fileSpace" name="uploaded_file" type="file" style="display: none;"> @*style="display: none;"*@
@Html.EditorFor(model => model.FileName, new { htmlAttributes = new { @class = "form-control", @id = "modelField"} })
@Html.ValidationMessageFor(model => model.FileName, "", new { @class = "text-danger" })
</div>
</div>
Вот script:
$('#fileSpace').on("change", function () {
$("#modelField").val($('input[name="uploaded_file"]').val());
Ответ 7
В чистом JS это будет проще
EmployeeId.value = 'fgg';
EmployeeId.value = 'fgg';
<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>