Как установить значение входного текста с помощью 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>

Я хочу установить значение этого входного текста с помощью 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 код надежно выводит HTML <input> С атрибутом id id='EmployeeId', вы можете просто использовать:

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

в противном случае вам нужно будет проверить в консоли ошибок Вашего браузера, что у вас нет других ошибок сценария, вызывающих сбой. Первый пример выше строительство правильно в этой демонстрации.


С помощью 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');

для ids

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

Теперь, если у вас есть iput в форме, которую вы можете использовать

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

вот еще один вариант для загрузки файла, который имеет более приятную кнопку начальной загрузки, чем кнопка просмотра загрузки файла по умолчанию. Это 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>

вот этот скрипт:

        $('#fileSpace').on("change", function () {
        $("#modelField").val($('input[name="uploaded_file"]').val());