我有以下HTML
<input type="hidden" name="conf1" value="7th IEEE/IFIP International Conference on Embedded and Ubiquitous Computing (EUC-09)">
<input type="hidden" name="conf2" value="IEEE International Symposium on Parallel and Distributed Processsing with Applications">
<input type="hidden" name="conf3" value="jkhga">
<input type="hidden" name="conf4" value="test">
<input type="hidden" name="conf5" value="The 3rd International Conference on Adaptive Business Information Systems (ABIS'09)">
<input type="text" name="published">
我正在尝试使用jquery将隐藏字段的值放入数组中。这是我尝试过的:
var conferences = new Array();
conferences[0] = $('#conf1').val();
conferences[1] =$("[name='conf2']").val();
conferences[2] =$("[name='conf3']").val();
conferences[3] = $("[name='conf4']").val();
conferences[4] =$("[name='conf5']").val();
有人可以指导我如何阅读它们吗? 在此先感谢您 迪安
答案 0 :(得分:10)
如果你打算使用jQuery,你可以这样做:
var array = $('input:hidden').map(function() {
return this.value;
}).get();
.map()
遍历集合,并将返回值放入jQuery对象。
.get()
从jQuery对象中检索数组。
答案 1 :(得分:3)
var conferences = [];
$('input:hidden[name^="conf"]').each(function() {
conferences.push($(this).val());
});
答案 2 :(得分:2)
var array = $.map($('input:hidden'),function(i) {
return i.value;
});
这会将值的数组分配给array
,并且比使用$(selector).map()
略微冗长,后者返回一个jQuery对象,然后需要调用get()
来返回一个数组
<强> Demo Here 强>
答案 3 :(得分:1)
var conferences = new Array(); // object Array
var conferencesVal = new Array(); // string Array
$("[type=hidden]").each(function(i,e){
// object array =>altarnatif method
conferences.push( {name:$(this).attr("id"),value: $(this).val()});
//string array
conferencesVal[i]= $(this).val();
})
答案 4 :(得分:0)
尝试以下代码。
$(...).attr('value');
.attr(...)
:仅在开始时获取对象值(创建html时)
.val()
:获取对象的属性值,该值可以多次更改。
答案 5 :(得分:0)
It looks to me like your code works fine already,但没有#conf1
。一切似乎都正确地写入数组,可以通过conferences[0]
,conferences[1],
等轻松访问。
您可以使用jQuery技巧清理它,但如果您知道只有5个会议,那么您所拥有的功能是可用的。