2012-01-18 57 views
11

我想用jQuery來填寫一些表單的默認值。填寫表單與jQuery

窗體包含在一個具有ID的div中。實際上,每個元素都有一個ID,我只是爲了能夠使用$("#id")語法快速選擇每一個表格。
這裏是形式:

<div id="panel" style="position: absolute; left: 190px; top: 300px; width: 400px; height: 300px; border: medium groove brown; background: none repeat scroll 0% 0% black; z-index: 100; color: white;"><form id="form_coord_0"> 
X <input type="text" style="height: 25px; font-size: 10px;" size="2" name="X" id="coordX_0"/> 
Y <input type="text" style="height: 25px; font-size: 10px;" size="2" name="Y" id="coordY_0"/> 
<input type="button" id="edit_0" value="M"/> 
<input type="button" id="remove_0" value="-"/> 
<input type="button" id="add_0" value="+"/> 
<input type="button" id="go_0" value="go!"/> 
<br/> 
</div> 

我需要設置coordX_0文本字段一定的價值,讓我們說:123

我想我可以做

$("#coordX_0").text.value = 123; 

但它似乎並沒有工作。任何提示?

+0

http://api.jquery.com/val,文檔是你的朋友。 – Jasper 2012-01-18 17:06:24

+0

謝謝Jasper,我是jQuery的新手(嗯,即使使用js:D),我甚至不知道val()方法存在。 – nick2k3 2012-01-18 17:23:51

+0

@ nick2k3我在學習jQuery時做的第一件事就是瀏覽API文檔,查看所有可用功能以及如何使用它們的演示。我這樣做是爲了讓我至少有一個框架允許我做的基本概念。例如'.val()'函數可以將一個函數作爲參數,如果你想一次處理多個表單輸入的話,你可以在下面看到我的答案,例如如何執行此操作:http://stackoverflow.com/questions/8914161/8914281#8914281 – Jasper 2012-01-18 17:42:46

回答

17

可以使用val()函數來設置輸入值

$("#coordX_0").val(123); 

順便說一句,你原來的代碼可以進行設定值繼續工作屬性的實際,基礎dom元素。你可以通過你的索引結果的jQuery訪問DOM元素:

$("#coordX_0")[0].value = 123; 
+0

非常感謝!這解決了它。你或者任何人碰巧知道我可以在哪裏找到關於可以調用這種對象的方法的廣泛文檔? (就像JavaDoc,但對於JavaScript和DOM)。 – nick2k3 2012-01-18 17:18:38

+0

那麼,jQuery文檔是太棒了 - 但本機DOM文檔? - 沒有脫離我的頭頂。 – 2012-01-18 17:20:49

+1

@ nick2k3嘗試MDN文檔:https://developer.mozilla.org/en/DOM/HTMLInputElement。只要在谷歌(或其他)搜索'[我想知道的屬性] MDN',其中'[我想知道的屬性']就像'元素值'。 – Jasper 2012-01-18 17:44:51

3

要設置輸入字段的值其

$("#coordX_0").val(123) 
3
$("#coordX_0").val("123"); 

您需要的報價太,我認爲。儘管它可能同時工作。

2

使用val方法來設置任何input字段的文本。

$("#coordX_0").val(123); 
3

試試這個,使用val方法:

$("#coordX_0").val('some string or number'); 
1

使用這個代替:

$("#coordX_0").val("123"); 
2

使用Val函數

$("#coordX_0").val("123"); 
2

只寫:

$("#coordX_0").val(123); 

jQuery,text是提取文本在dom中的函數。

14

所有的答案都是完全一樣的,所以我想我會發布不同的東西:

var inputs_to_values = { 
    'coordX_0' : 'some value', 
    'coordY_0' : 'some other value', 
    'edit_0' : 'N', 
    'remove_0' : '_', 
    'add_0' : '-', 
    'go_0'  : 'stop?' 
}; 
$('#form_coord_0').find('input').val(function (index, value) { 
    return inputs_to_values[this.id]; 
}); 

您可以通過.val()的功能,無論是從每個元素將成爲新的價值函數返回:

返回要設置的值的函數。

是當前元素。

接收集合中元素的索引位置和舊值 作爲參數。

來源:http://api.jquery.com/val

上述代碼預計每個輸入將在inputs_to_values對象中的屬性,從而可以將輸入的ID轉換該輸入的新值。

這裏是一個演示:http://jsfiddle.net/zYfpE/

+0

我正在尋找這樣的東西,我確定jQuery中有一個本地方法,但無論如何這個方法足夠緊湊。真喜歡它。 – AndreaBogazzi 2014-11-24 11:22:07

+0

這個簡單易行的擴展方法正是我所需要的,並且認爲它完美地回答了這個問題。謝謝! – Yatko 2015-01-09 17:47:39