2012-02-24 112 views
0

我有一個很長的窗體,裏面有很多按鈕和輸入。這裏有一個例子:如何使用JQuery添加另一個表單元素

<form> 
    <p>#</p> 
    <input type="button" value="Inputs" /> 
     <input type="text" value="" /> 
</form> 

我想我並不想克隆它,因爲輸入字段的數量將擴大和改變。我正在考慮使用'.after()'函數,但是我需要做很多的退出字符串。

有沒有辦法只是調用另一個函數,併爲了易於理解而返回?

+0

「有沒有辦法只是調用另一個函數,並有此爲了易於理解返回?「 ...有什麼*返回,以迴應什麼? – 2012-02-24 22:32:27

回答

1

我是一個接觸困惑,爲什麼你想避免克隆。如果使用style =「display:none」構建要克隆到窗體外部和div內部的對象,然後在需要時克隆並將克隆對象移入類似insertafter()的窗體中,則不應該看到任何干擾你正在做的事情。

+0

我有一個函數,它添加輸入字段並根據內容更改其ID,它變得非常複雜。因爲我不得不改變5 +屬性,因爲表單比例子複雜得多。 – user1082764 2012-02-24 22:37:27

+0

在這種情況下,您可以將其構建爲函數 - 具有默認塊,將其克隆,根據輸入填充克隆的id屬性(以及任何其他屬性),然後將其插入到位。在任何情況下,避免克隆都不會爲你簡化。事實上,如果您使用克隆技術,它可以讓您一次處理一個屬性,這對代碼的可讀性和可維護性非常有幫助。 – 2012-02-24 22:41:25

+0

它還沒有完全的功能,但它的這裏:「http://jsfiddle.net/rayd360/e9f5q/」我仍然是新的JQuery和使用教程來指導我,但我應該有一個(文檔).ready功能,然後克隆它以某種方式將該克隆公開給其他功能? – user1082764 2012-02-24 22:45:45

0

我不是100%肯定你的問題,但你可以創建一個元素幾個方面,這裏有一對夫婦:

$('<input />', { id : 'some-id', type : 'text', value : 'some value' }).appendTo('form'); 

OR

$('<input id="some-id" type="text" value="some value" />').appendTo('form'); 

您也可以選擇form元素並附加到它像這樣:

var $newElement = $('<input />', { id : 'some-id', type : 'text', value : 'some value' }); 
$('form').append($newelement); 
相關問題