Як встановити значення вхідного тексту за допомогою jQuery


351

У мене є вхідний текст:

<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
Я використовував вхідний текст у формі ....
raberana

Відповіді:


530

Ваш селектор виймає оточення текстового поля <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");
});

Якщо цього не відбувається, вам потрібно буде перевірити на консолі помилок вашого браузера, що у вас немає інших помилок сценарію, що призводять до цього помилки. Перший приклад вище працює в цій демонстрації.


спробував це, не працює .... спробував також .textBoxEposleeeNumber input = [type = "text"] ... теж не працює
raberana

@using (Html.BeginForm ()) {@ Html.ValidationSummary (true) <fieldset> <legend> Бронювання </legend> ......... <div class = "editor-label"> @Html. LabelFor (model => model.EposleeeId, "Номер співробітника") </div> <div class = "редактор-текст textBoxEposleeeNumber"> @ Html.EditorFor (model => model.EposleeeId) @ Html.ValidationMessageFor (model => модель .EслуeeeId) </div> ..........
raberana

<div class = "editor-label"> <label for = "EmployeeId"> Номер співробітника </label> </div> <div class = "text-field textBoxEposleeeNumber"> <input class = "text-box one-line "data-val =" true "data-val-number =" Поле EmployeeId має бути числом. " data-val-Required = "Поле EmployeeId обов'язкове." id = "EmployeeII" name = "EmployeeId" type = "text" value = "" /> <span class = "field-validation-valid" data-valmsg-for = "EmployeeId" data-valmsg-change = "true" > </span> </div>
raberana

@ RojBeraña Чи читає браузер код у вашій програмі $ (document) .ready? розмістити сповіщення там: <script type = "text / javascript" language = "javascript"> alert ('enter'); $ (function () {$ ('# EmployeeId'). val ("fgg");}); </script>
karaxuna

У мене є аналогічна проблема, значення видно в браузері, але коли я перевіряю код з F12, value=""після збереження зберігається і порожній файл.
Себастьян Ксавері Wiśniowiecki

67

За допомогою jQuery ми можемо використовувати наступний код:

Оберіть за назвою введення:

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

Вибрати за класом введення:

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

Виберіть за допомогою вхідного ідентифікатора:

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

12
$(document).ready(function () {
    $('#EmployeeId').val("fgg");

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

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

5

Для елемента з id

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

Ви можете встановити значення як

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

Документація тут .


4

це для занять

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

для ід

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

тепер якщо у вас є iput у формі, яку ви можете використовувати

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

0

Ось ще одна версія для завантаження файлу, яка має більш виглядну кнопку завантаження, ніж кнопка перегляду файлів за замовчуванням. Це 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());

0

У чистому js це буде простіше

EmployeeId.value = 'fgg';

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.