Hoe de waarde van invoertekst in te stellen met jQuery

Ik heb een invoertekst die deze is:

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

Die de volgende html produceren

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

Antwoord 1, autoriteit 100%

Uw selector haalt het omringende <div class='textBoxEmployeeNumber'>van het tekstvak op in plaats van de invoer erin.

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

Update na het zien van HTML-uitvoer

Als de ASP.NET-code op betrouwbare wijze de HTML <input>uitvoert met een id-attribuut id='EmployeeId', kunt u eenvoudiger het volgende gebruiken:

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

Als dit niet lukt, moet u in de foutconsole van uw browser controleren of u geen andere scriptfouten heeft waardoor dit mislukt. Het eerste voorbeeld hierboven werkt correct in deze demonstratie.


Antwoord 2, autoriteit 13%

Met jQuery kunnen we de volgende code gebruiken:

Selecteer op invoernaam:

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

Selecteer op invoerklasse:

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

Selecteer op invoer-ID:

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

Antwoord 3, autoriteit 2%

$(document).ready(function () {
    $('#EmployeeId').val("fgg");
    //Or
    $('.textBoxEmployeeNumber > input').val("fgg");
    //Or
    $('.textBoxEmployeeNumber').find('input').val("fgg");
});

Antwoord 4

Voor element met id

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

U kunt de waarde instellen als

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

Documentatie hier.


Antwoord 5

dit is voor lessen

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

voor ID’s

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

nu als je een iput in een vorm hebt die je kunt gebruiken

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

Antwoord 6

Hier is nog een variant voor het uploaden van bestanden die een mooiere bootstrap-knop heeft dan de standaard bladerknop voor het uploaden van bestanden. Dit is de 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>

Hier is het script:

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

Antwoord 7

In pure js zal het eenvoudiger zijn

EmployeeId.value = 'fgg';

Other episodes