2012-02-12 25 views
20

Làm cách nào để chọn một đầu vào có tên như thế này trong jQuery mà không gán ID?Bộ chọn đầu vào mảng tên Javascript (tên [sometext])

<input name="person[first]" type="hidden"> 
<input name="person[last]" type="hidden"> 

// Seems to be acting on multiple hidden elements instead of this named one 
// This sets the value of both of those hidden elements in some cases 
$("input[type=hidden][name=person[first]]").val('Test'); 

// So I've changed it to this. Is there a better way? 
$("input[name=person[first]]").val('Test'); 
+0

Bạn có thể cho ví dụ về những gì không hoạt động khi bạn có nhiều yếu tố đầu vào bị ẩn với HTML được bao gồm không? Nó không rõ ràng từ ví dụ của bạn. – Anurag

Trả lời

28

Đặt giá trị thuộc tính trong dấu ngoặc kép ...

$("input[type=hidden][name='person[first]']").val(); 
    // ---------------------^-------------^ 

Từ the docs for attribute-equals-selector ...

thuộc tính Một tên thuộc tính.

giá trị Giá trị thuộc tính. Có thể là một từ đơn không được trích dẫn hoặc một chuỗi được trích dẫn.

Vì bạn có nhiều hơn một từ duy nhất, nên được trích dẫn.

3

Tôi khá chắc chắn rằng bạn đang phải đặt trong dấu ngoặc kép giá trị bất kỳ thuộc tính chọn của bao gồm biểu tượng với ý nghĩa trong CSS. Như thế này:

input[type=hidden][name='person[first]'] 
Các vấn đề liên quan