Đặt giá trị của đầu vào ẩn bằng jquery


93

Tôi đang cố gắng đặt giá trị của trường ẩn bên dưới bằng jQuery.

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

Tôi đang sử dụng mã này:

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

Nhưng nó không hoạt động. Có gì sai với mã của tôi?


4
Để rõ ràng đầy đủ, jQuery trả về một tập hợp các phần tử DOM. kiểm tra không trở thành phần tử DOM mà nó trở thành một mảng. Để sử dụng javascript a la .value đơn giản, bạn có thể thực hiện kiểm tra [0] .value hoặc lặp qua bộ sưu tập nếu có nhiều hơn một. Nếu không, test.val ('work!') Sẽ phù hợp với bạn vì nó là một phương thức jQuery chứ không phải test.value là một thuộc tính của đối tượng phần tử DOM.
Scottux

Câu trả lời:


129

Bạn nên sử dụng valthay vì value.

<script type="text/javascript" language="javascript">
$(document).ready(function () { 
    $('input[name="testing"]').val('Work!');
});
</script>

33

Điều này đã làm việc cho tôi:

$('input[name="sort_order"]').attr('value','XXX');

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

1
lạ, coi nó để làm điều đó
Haim Evgi

Không có vấn đề gì vì "Type = 'hidden'" chứ không phải "type = 'hidden'" ở đó phải không? Không chắc chắn về các thuộc tính trường hợp hỗn hợp. Có thể nắm chặt vào ống hút ...
Hogsmill

1
tôi nghĩ vấn đề ở đây là bộ chọn .. Tôi nghĩ nên input[name="testing"-> kiểm tra giữa các dấu ngoặc kép ... Bất cứ khi nào việc đặt một số giá trị không hoạt động, hãy thử lấy phần tử trước. Nếu bạn không hiểu, vấn đề không phải là với .val (), nhưng có lẽ với bộ chọn
Thomas Mulder


7

Giả sử bạn có một đầu vào ẩn, có tên là XXX, nếu bạn muốn gán giá trị cho phần sau

<script type="text/javascript">

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

FYI, các câu trả lời chỉ có mã thường bị gắn cờ là chất lượng thấp và thường sẽ bị xóa. Hãy thử đăng một số ngữ cảnh / giải thích kèm theo câu trả lời của bạn nếu bạn muốn câu trả lời phù hợp và (có thể) được ủng hộ.
sgress454

Bộ chọn bạn đang sử dụng ( #XXX) dành cho idthuộc tính. Nếu bạn "đặt tên" cho đầu vào XXX, bộ chọn sẽ là input[name="XXX"].
krummens

4

Để tạo nó bằng jquery, hãy làm theo cách này:

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

Hoặc là

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

Xem làm việc trong trò chơi này .


0

Bạn không cần đặt tên, chỉ cần cung cấp id là đủ.

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

và hơn với jquery, bạn có thể sử dụng phương thức 'val ()' như bên dưới:

 $('#testId').val("work");
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.