使用jquery创建动态div

时间:2012-11-27 12:55:10

标签: javascript jquery

我试图创建一个按钮,每次按下它时都会生成已经格式化的div。

div由表单组成,它们的字段应该已经填充了存储在javascript中的变量中的数据。

例如

<div id="myDiv_#">
<form id="myForm">
<input type="text" id="start_date" name="start_date" value="someJavascriptVariable" />
<input type="text" id="end_date" name="end_date" value="someJavascriptVariable" />
<select name="type" id="type">
<option value="1">"someJavascriptVariable"</option>
<option value="2">"someJavascriptVariable"</option>              
</select>
<input type="button" id="new_button" value="Show">
</form>
</div>

<script>
$('#button_push').click(function() 
{
//creating myDiv_#
}
</script>

我正在搜索网络,但从未找到好结果:s 我请你帮忙,也许是指导或起点。 关键是,每次用户按下按钮时,都会创建一个带有上述参数的新div。

干杯

1 个答案:

答案 0 :(得分:2)

如果标记很复杂,如果你可以克隆它的隐藏版本可能会更容易,修改属性然后根据需要附加到页面。

这样的事情:

<div id="container"></div>

<div style="display: none;">
    <div id="myDiv_#">
        <form id="myForm">
            <input type="text" id="start_date" name="start_date" value="someJavascriptVariable" />
            <input type="text" id="end_date" name="end_date" value="someJavascriptVariable" />
            <select name="type" id="type">
                <option value="1">"someJavascriptVariable"</option>
                <option value="2">"someJavascriptVariable"</option>                
            </select>
            <input type="button" id="new_button" value="Show">
        </form>
    </div>
</div>
$('#button_push').click(function() {
    var $div = $("#myDiv_\\#").clone(true); // keep events'
    $div.attr('id', '').addClass('clone'); // example of amending attributes
    $("#container").append($div); // append
});

Example fiddle

您也可以轻松地将someJavascriptVariable字符串替换为与该克隆实例相关的特定变量。