ตั้งค่าของอินพุตที่ซ่อนด้วย jquery


96

ฉันพยายามตั้งค่าของฟิลด์ที่ซ่อนอยู่ด้านล่างโดยใช้ jQuery

<input type="hidden" value="" name="testing" />

ฉันใช้รหัสนี้:

var test = $("input[name=testing]:hidden");
test.value = 'work!';

แต่มันไม่ทำงาน รหัสของฉันผิดอะไร


4
เพื่อความชัดเจนที่สมบูรณ์ jQuery จะส่งคืนชุดขององค์ประกอบ DOM การทดสอบไม่กลายเป็นองค์ประกอบ DOM แต่จะกลายเป็นอาร์เรย์ หากต้องการใช้ javascript a la .value แบบธรรมดาคุณสามารถทดสอบ [0] .value หรือวนซ้ำในคอลเลกชันหากมีมากกว่าหนึ่ง มิฉะนั้น test.val ('work!') จะทำงานให้คุณเนื่องจากเป็นวิธี jQuery แทนที่จะเป็น test.value ซึ่งเป็นคุณสมบัติของออบเจ็กต์องค์ประกอบ DOM
Scottux

คำตอบ:




28
$('input[name="testing"]').val(theValue);

1
แปลกมันควรจะทำ
Haim Evgi

ไม่มีปัญหาเพราะมี "Type = 'hidden'" มากกว่า "type = 'hidden'" หรือไม่? ไม่แน่ใจเกี่ยวกับแอตทริบิวต์กรณีผสม อาจจะกำฟาง ...
Hogsmill

1
ฉันคิดว่าปัญหาที่นี่คือตัวเลือก .. ฉันคิดว่ามันควรจะเป็นinput[name="testing"-> การทดสอบระหว่างเครื่องหมายคำพูด ... เมื่อใดก็ตามที่การตั้งค่าบางค่าไม่ได้ผลให้พยายามหาองค์ประกอบก่อน .. หากคุณไม่เข้าใจ ปัญหาไม่ได้อยู่ที่. val () แต่อาจเกิดจากตัวเลือก
Thomas Mulder

8

สมมติว่าคุณมีอินพุตที่ซ่อนอยู่ชื่อ XXX หากคุณต้องการกำหนดค่าต่อไปนี้

<script type="text/javascript">

    $(document).ready(function(){
    $('#XXX').val('any value');
    })
</script>

FYI คำตอบแบบใช้รหัสเท่านั้นโดยทั่วไปจะถูกระบุว่ามีคุณภาพต่ำและโดยปกติจะถูกลบ ลองโพสต์บริบท / คำอธิบายพร้อมคำตอบของคุณหากคุณต้องการให้มันคงอยู่และ (อาจ) ได้รับการโหวต
sgress454

ตัวเลือกที่คุณใช้ ( #XXX) ใช้สำหรับidแอตทริบิวต์ หากคุณ "ชื่อ" ซึ่งเป็น XXX input[name="XXX"]อินพุตเลือกจะเป็น
krummens


4

หากต้องการสร้างด้วย jquery ให้ทำดังนี้:

var test = $("input[name=testing]:hidden");
test.val('work!');

หรือ

var test = $("input[name=testing]:hidden").val('work!');

ดูการทำงานในซอนี้


0

คุณไม่จำเป็นต้องตั้งชื่อเพียงแค่ให้ id ก็เพียงพอแล้ว

<input type="hidden" id="testId" />

และมากกว่าด้วย jquery คุณสามารถใช้วิธี'val ()'ดังต่อไปนี้:

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