2010-07-19 98 views
6

什麼是相當於jQuery的:document.forms[0].elements[i].value;與document.forms [0] .elements [i] .value等價的jQuery是什麼?

我不知道如何瀏覽表單及其在jQuery中的元素,並想知道如何去做。

+1

你可以發表你的標記的例子,你想要拉出哪些值? – 2010-07-19 22:38:27

+0

閱讀關於如何選擇這裏的東西:http://api.jquery.com/category/selectors/和如何遍歷這裏:http://api.jquery.com/category/traversing/。 – karim79 2010-07-19 22:50:07

+0

我在javascript中編寫了一個基本的表單驗證腳本,我試圖將它轉換爲JQUERY。它是一個for循環,用於搜索from檢查中的所有元素,以確保所有值都從默認值(即名字姓氏)更改爲真實值。 我發佈的代碼片段附加到一個變量,該變量保存當前輸入的值並根據默認值列表進行檢查。 thisVal = document.forms [0] .elements [i] .value; – Ian 2010-07-20 05:17:07

回答

13

通常的翻譯是:input選擇:

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

:first是因爲你的例子拉動第一<form>,如果只有一個或者你想要所有的輸入元素,只需要關閉:first:input selector適用於<input>,<select>,<textarea> ...您在此處通常關心的所有元素。但是,如果我們確切知道你的目標是什麼,那麼可能有一個非常簡單的方法來實現它。如果你可以發佈更多的信息,比如HTML和你想要提取的值(或者做其他事情)。

+0

+1非常整齊。 :) – 2010-07-19 22:49:13

+0

感謝您的答案。 我在javascript中編寫了一個基本的表單驗證腳本,我試圖將它轉換到JQUERY。它是一個for循環,用於搜索表單中的所有元素,檢查所有值是否已從默認值(即名字姓氏)更改爲真實值。我發佈的代碼片段附加到一個變量,該變量保存當前輸入的值並將其與默認值列表進行比較。 thisVal = document.forms [0] .elements [i] .value; – Ian 2010-07-20 05:18:12

+0

我的頁面上也有兩種形式。我目前的工作版本有

來驗證特定的表單 thisVal = document.forms [formName] .elements [i] .value; – Ian 2010-07-20 05:20:19

0

我不太確定你想完成什麼,但你應該能夠做這樣的事情:

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

這將在第一<form>獲得第一個子節點的值標記在DOM中。

+2

這將不會返回任何內容...您正在選擇一個''標記:) – 2010-07-19 22:39:23

+0

謝謝@尼克,您是正確的 - 我修復了我的代碼段。 – 2010-07-19 22:47:04

+0

這仍然是不正確的,不是我downvote ...但我不認爲你在這裏正確思考選擇器,這將返回第一個元素,這個例子是'元素[i]',它轉換得非常密切: '$('form:first:input')。eq(i).val();' – 2010-07-19 22:52:20

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

這隻會抓住'input'字段,而不是'select'或'textarea'。 – 2010-07-19 22:53:42

1

好,直譯,它會是:

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

但jQuery的可以很容易地通過抓取其他方式,如ID或CSS選擇器的元素。如果你做了類似的事情,它會更容易維護:

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

這會給你所有形式下的元素。包括非表格元素:

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

然後,您可以使用每個函數來遍歷所有的孩子。或者你可以使用輸入選擇器僅返回表單元素:

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

表單控件通常不是表單控件 – Quentin 2010-07-19 22:44:17

+0

@David你是對的。他們傾向於嵌套,但並非總是如此。我想我應該使用查找,或者只是列出我們想要返回的控件的類型。我至少會改用find來代替。 – spinon 2010-07-19 22:48:03

相關問題