我想在我的项目中使用jquery.dynamiclist库。在运行顺利的演示页面中,有一个 1.8.2 版本的 jquery 库。在我的项目中,我使用 1.11.1 版本,这使得动态列表插件不起作用。使用较新版本时,当我处理表单时,我会得到带有输入名称但没有值的数据(我得到“未定义”)。
这是来自演示的代码。我必须改变什么才能让它与更新版本的 jquery 一起运行?
<form class="form-horizontal">
<h2>Example 1: Basic List</h2>
<div class="control-group">
<label class="control-label">Party</label>
<div class="controls">
<input name="partyName" type="text" placeholder="Party Name">
</div>
</div>
<div class="control-group">
<label class="control-label">Guest List</label>
<div id="example1" class="controls">
<div class="list-item">
<input name="guestList[0].name" type="text" placeholder="Guest Name">
<a href="#" class="list-remove btn btn-small"><i class="icon-minus"></i> Remove Guest</a>
</div>
<a href="#" class="list-add btn btn-small"><i class="icon-plus"></i> Add Guest</a>
</div>
</div>
<div class="control-group">
<div class="controls">
<input type="submit" class="btn btn-primary btn-large" value="Process Example 1"/>
</div>
</div>
</form>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script src="https://github.com/ikelin/jquery.dynamiclist/blob/master/jquery.dynamiclist.min.js"></script>
<script>
(function($) {
$(document).ready(function() {
$("#example1").dynamiclist();
// display form submit data
$("form").submit(function(event) {
event.preventDefault();
var data = "";
$(this).find("input, select").each(function() {
var element = $(this);
if (element.attr("type") != "submit") {
data += element.attr("name");
data += "="
data += element.attr("value");
data += "; "
}
});
alert(data);
location.reload(true);
});
});
})(jQuery);
</script>