2010-07-19 61 views
6

Số lượng jquery tương đương với: document.forms[0].elements[i].value; là gì?Tương đương jQuery với document.forms [0] .elements [i] .value ;?

Tôi không biết cách di chuyển qua biểu mẫu và các phần tử của nó trong jQuery và muốn biết cách thực hiện.

+1

Bạn có thể đăng một ví dụ về đánh dấu của mình không và bạn muốn rút ra các giá trị nào? –

+0

Đọc về cách chọn nội dung tại đây: http://api.jquery.com/category/selectors/ và cách di chuyển tại đây: http://api.jquery.com/category/traversing/. – karim79

+0

Tôi đã viết một kịch bản xác nhận biểu mẫu cơ bản trong javascript, và tôi đang cố chuyển nó sang JQUERY. Đó là một vòng lặp cho tìm kiếm thông qua tất cả các yếu tố trong từ kiểm tra để đảm bảo rằng tất cả các giá trị đã thay đổi hình thức mặc định (tức là tên họ) để một cái gì đó thực sự. Đoạn mã tôi đã đăng được đính kèm với biến lưu giá trị của đầu vào hiện tại và kiểm tra giá trị đó dựa vào danh sách giá trị mặc định. thisVal = document.forms [0] .elements [i] .value; – Ian

Trả lời

13

Bản dịch thông thường là :input selector:

$("form:first :input").each(function() { 
    alert($(this).val()); //alerts the value 
}); 

Các :first là vì dụ bạn kéo <form> đầu tiên, nếu chỉ có một hoặc bạn muốn tất cả các yếu tố đầu vào, chỉ cần cắt giảm :first. :input selector hoạt động cho <input>, <select>, <textarea> ... tất cả các yếu tố bạn thường quan tâm ở đây.

Tuy nhiên, nếu chúng tôi biết chính xác mục tiêu của bạn là gì, có thể là một cách rất đơn giản để đạt được mục tiêu đó. Nếu bạn có thể đăng thêm thông tin, như HTML và những giá trị bạn muốn trích xuất (hoặc làm điều gì đó khác với).

+0

+1 Rất gọn gàng. :) –

+0

Cảm ơn câu trả lời. Tôi đã viết một tập lệnh xác thực biểu mẫu cơ bản trong javascript và tôi đang cố chuyển đổi nó sang JQUERY. Đó là một vòng lặp cho tìm kiếm thông qua tất cả các phần tử trong biểu mẫu kiểm tra để đảm bảo rằng tất cả các giá trị đã thay đổi từ mặc định (ví dụ: họ tên) thành một cái gì đó thực. Đoạn mã tôi đăng được gắn vào một biến lưu giá trị của đầu vào hiện tại và kiểm tra giá trị đó dựa vào danh sách các giá trị mặc định. thisVal = document.forms [0] .elements [i] .value; – Ian

+0

Tôi cũng có 2 biểu mẫu trên trang của mình. Phiên bản làm việc hiện tại của tôi có

để xác thực biểu mẫu cụ thể đó cho thisVal = document.forms [formName] .elements [i] .value; – Ian

0

Tôi không chắc chắn chính xác những gì bạn đang cố gắng để hoàn thành, nhưng bạn sẽ có thể làm điều gì đó như thế này:

$('form:first').children(':first').val(); 

này sẽ nhận được giá trị của nút con đầu lòng trong lần đầu tiên <form> trong DOM.

+2

Điều này sẽ không trả lại gì ... bạn đang chọn một thẻ '' :) –

+0

Cảm ơn @Nick, bạn chính xác - Tôi đã sửa đoạn mã của mình. –

+0

Điều này vẫn không chính xác, không phải của tôi ... nhưng tôi không nghĩ suy nghĩ của bạn về các bộ chọn chính xác ở đây, điều này sẽ trả về phần tử đầu tiên, ví dụ là một phần tử [i] ', dịch khá gần: '$ ('form: first: input') .qq (i) .val();' –

0
$("#formid input").each(function(){ 
    alert($(this).attr("value")) 
}) 
+0

Điều này sẽ chỉ lấy các trường 'input', không phải' select' hoặc 'textarea'. –

1

Vâng, dịch theo nghĩa đen, nó muốn được:

$('form:first *:nth-child(i)').val() 

Nhưng jQuery giúp bạn dễ dàng lấy các yếu tố bằng phương thức khác như ID hoặc công cụ chọn CSS. Sẽ dễ dàng hơn để duy trì nếu bạn đã làm điều gì đó như:

$('form#id input.name').val() 
0

Điều này sẽ cung cấp cho bạn tất cả các yếu tố trong biểu mẫu. Bao gồm các phần tử không phải là hình thức:

$("#[form id]").find() 

Sau đó, bạn có thể sử dụng từng chức năng để đi qua tất cả trẻ em. Hoặc bạn có thể sử dụng bộ chọn đầu vào để chỉ trả lại các yếu tố hình thức:

$("#[form id] :input") 
+0

Điều khiển biểu mẫu thường không phải là trẻ em ở dạng – Quentin

+0

@David Bạn nói đúng. Chúng có xu hướng lồng nhau, mặc dù không phải lúc nào cũng vậy. Tôi đoán tôi nên đã sử dụng tìm thấy thay vào đó hoặc chỉ cần liệt kê các loại điều khiển mà chúng tôi muốn quay trở lại. Tôi sẽ ít nhất thay đổi để sử dụng tìm thay thế. – spinon

Các vấn đề liên quan