加载动态添加的输入字段
Load dynamically added input fields with a value
我使用此示例 http://jsfiddle.net/aaki/hMJEy/1/将输入字段动态添加到表单中,这就像一个魅力。
这是代码:
Javascript:
$('.multi-field-wrapper').each(function() {
var $wrapper = $('.multi-fields', this);
$(".add-field", $(this)).click(function(e) {
$('.multi-field:first-child', $wrapper).clone(true).appendTo($wrapper).find('input').val('').focus();
});
$('.multi-field .remove-field', $wrapper).click(function() {
if ($('.multi-field', $wrapper).length > 1)
$(this).parent('.multi-field').remove();
});
});
.HTML:
<form role="form" action="/wohoo" method="POST">
<label>Stuff</label>
<div class="multi-field-wrapper">
<div class="multi-fields">
<div class="multi-field">
<input type="text" name="stuff[]">
<button type="button" class="remove-field">Remove</button>
</div>
</div>
<button type="button" class="add-field">Add field</button>
</div>
</form>
但是现在我想从数据库中获取数据并将值放入表单中。以便可以更新数据,然后再次保存在数据库中。
不幸的是,jQuery是我的弱点,并且已经为此苦苦挣扎了一段时间。有什么建议或工作实例吗?
提前非常感谢你。
您需要将该
数据转换为JSON字符串,然后使用jQuery.getJSON
方法加载JSON。
function addField( $wrapper ) {
var $elem = $('.multi-field:first-child', $wrapper).clone(true).appendTo($wrapper).find('input');
$elem.val('').focus();
return $elem;
}
function loadData(){
$.getJSON( "http://www.json-generator.com/api/json/get/bSxiJZPXuG?indent=2", function(data) {
/*
[
{
"name": [
"Tom",
"Mike",
"Sam"
]
}
]
*/
for( var i = 0; i < data[0][ "name" ].length; i++ ) {
if ( i >= $('.multi-field input').length ) {
var $wrapper = $('.multi-fields'),
$elem = addField( $wrapper )
$elem.val( data[0][ "name" ][i] )
} else {
$('.multi-field input').eq(i).val( data[0][ "name" ][i] )
}
}
});
}
$('.multi-field-wrapper').each(function() {
var $wrapper = $('.multi-fields', this);
$(".add-field", $(this)).click(function(e) {
addField( $wrapper )
});
$('.multi-field .remove-field', $wrapper).click(function() {
if ($('.multi-field', $wrapper).length > 1)
$(this).parent('.multi-field').remove();
});
});
loadData();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<form role="form" action="/wohoo" method="POST">
<label>Stuff</label>
<div class="multi-field-wrapper">
<div class="multi-fields">
<div class="multi-field">
<input type="text" name="stuff[]">
<button type="button" class="remove-field">Remove</button>
</div>
</div>
<button type="button" class="add-field">Add field</button>
</div><div id="images"></div>
</form>
相关文章:
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 而循环只设置php中输入字段中的第一个值
- 在输入字段中将最小金额设置为
- 如何在输入字段中的按钮的帮助下打开日历,该字段的类型为“=”;日期”;
- 如何在HTML输入字段中添加不可删除的后缀
- 互斥单选按钮和相应的输入字段
- 在IE9中的输入字段中输入焦点最近按钮
- 选中单选框时将属性添加到输入字段
- 当设置addFromAutocompleteOnly时,剩余文本将保留在输入字段中
- 我如何在数字插入中使用逗号,这样它就不会'不要破坏我的输入字段
- 在输入字段上有两个函数调用,一个在Blur上,一个不在Angular中
- 输入字段将't获取更新的值
- 如何选择多个输入字段并删除所需的属性
- 输入字段,只接受0到12之间的数字
- 单击鼠标,用MySQL数据填充html表单输入字段
- 使用jquery将输入字段转换为文本
- Model中的Typeahead返回空值以形成输入字段
- 如何从查询字符串中的输入字段发回文本
- 如何验证日期、月份和日期的3个独立输入字段;年使用jquery或javascript
- 将值传递给jquery创建的输入字段