2012-02-24 109 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); 
相关问题