วิธีการตั้งค่าของข้อความที่ป้อนโดยใช้ 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");
});

ความล้มเหลวนี้คุณจะต้องตรวจสอบในคอนโซลข้อผิดพลาดของเบราว์เซอร์ที่คุณไม่มีข้อผิดพลาดสคริปต์อื่น ๆ ที่ทำให้สิ่งนี้ล้มเหลว ตัวอย่างแรกด้านบนทำงานได้อย่างถูกต้องในการสาธิตนี้


พยายามที่ไม่ทำงาน .... พยายามยัง. textBoxEmployeeNumber input = [type = "text"] ... ไม่ทำงานด้วย
raberana

@using (Html.BeginForm ()) {@ Html.ValidationS บทสรุป (จริง) <fieldset> <legend> การจอง </legend> ......... <div class = "editor-label"> @Html LabelFor (model => model.EmployeeId, "หมายเลขพนักงาน") </div> <div class = "textBoxEmployeeNumber" editor-field text "> @ Html.EditorFor (model => model.EmployeeId) @ Html.ValidationMessage (model => model .EmployeeId) </div> ..........
raberana

<div class = "editor-label"> <label สำหรับ = "EmployeeId"> หมายเลขพนักงาน </label> </div> <div class = "text-field editorBoxEmployeeNumber"> <input class = "text-box บรรทัดเดียว "data-val =" true "data-val-number =" ฟิลด์ EmployeeId ต้องเป็นตัวเลข " data-val-required = "ต้องมีฟิลด์ EmployeeId" id = "EmployeeId" name = "EmployeeId" type = "text" value = "" /> <span class = "data-validation-validation" data-valmsg-for = "EmployeeId" data-valmsg-replace = "true" > </span> </div>
raberana

@ RojBerañaเบราว์เซอร์อ่านโค้ดข้างใน $ (เอกสาร) ของคุณพร้อมหรือยัง การแจ้งเตือนสถานที่: <script type = "text / javascript" language = "javascript"> alert ('ป้อน'); $ (ฟังก์ชัน () {$ ('# EmployeeId'). val ("fgg");}); </script>
karaxuna

มีปัญหาที่คล้ายกันค่าจะปรากฏในเบราว์เซอร์ แต่เมื่อฉันตรวจสอบรหัสด้วย F12 จะมีไฟล์value=""ว่างเปล่าใน DB หลังจากบันทึก
Sebastian Xawery 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

นี่คือรูปแบบอื่นสำหรับการอัปโหลดไฟล์ที่มีปุ่ม bootstrap ที่ดูดีกว่าปุ่มเรียกดูการอัปโหลดไฟล์เริ่มต้น นี่คือ 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';

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.