Cómo establecer el valor del texto de entrada usando jQuery

Tengo un texto de entrada que es este:

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

Que produce el siguiente html

begin snippet: js hide: false console: true babel: false -->

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

Quiero establecer el valor de este texto de entrada utilizando jquery así que hice esto:

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

sin embargo, no está funcionando ... ¿cuál es el error en mi sintaxis?

Solución

Su selector está recuperando el cuadro de texto que lo rodea <div class='textBoxEmployeeNumber'> en lugar de la entrada dentro de él.

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

Actualizar después de ver el HTML de salida

Si el código ASP.NET da salida de forma fiable al HTML <input> con un atributo id='EmployeeId'`, puede utilizar de forma más sencilla

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

Si esto no funciona, tendrá que verificar en la consola de errores de su navegador que no tiene otros errores de script que hagan que esto falle. El primer ejemplo anterior [funciona correctamente en esta demostración](http://jsfiddle.net/a2fDQ/)

Comentarios (5)

Usando jQuery, podemos usar el siguiente código:

Seleccionar por nombre de entrada:

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

Seleccionar por clase de entrada:

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

Seleccionar por ID de entrada:

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

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

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