Sådan indstilles værdien af input tekst ved hjælp af jQuery

Jeg har en indtastningstekst, som er denne:

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

Som producerer følgende 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>

Jeg ønsker at indstille værdien af denne inputtekst ved hjælp af jquery, så jeg gjorde dette:

<script type="text/javascript" language="javascript">
    $(function() {
        $('.textBoxEmployeeNumber').val("fgg");
    });
</script> 

men det virker ikke... hvad er fejlen i min syntaks?

Løsning

Din selector henter tekstboksen, der omgiver <div class='textBoxEmployeeNumber'> i stedet for indtastningen i den.

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

opdatering efter at have set output HTML

Hvis ASP.NET-koden pålideligt udsender HTML <input> med en id-attribut id='EmployeeId', kan du mere enkelt bare bruge:

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

Hvis dette ikke lykkes, skal du kontrollere i din browsers fejlkonsol, at du ikke har andre scriptfejl, der får dette til at mislykkes. Det første eksempel ovenfor [virker korrekt i denne demonstration.] (http://jsfiddle.net/a2fDQ/)

Kommentarer (5)

Ved hjælp af jQuery kan vi bruge følgende kode:

Vælg efter inputnavn:

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

Vælg efter indgangsklasse:

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

Vælg efter input id:

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

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

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