jquery,将多个值附加到隐藏的一个输入

时间:2015-06-25 11:13:58

标签: javascript jquery

我有一个以下变量

var $pk3s_c = $('<input id = query_form_tbl_info_'+query_index +'_pk3ss[] name =query_form[tbl_info]['+query_index+'][pk3ss][] type = hidden></input>');

和一个数组

var pk3s = opts[tbl]["cols"];

在迭代数组期间,我想将数组的元素追加到$pk3s_c

  $.each(pk3s, function(i,pk3){
  $pk3s_c.attr('value',pk3);
  })

上面的代码不起作用,它告诉我,我只附加了pk3s的最后一个元素,而不是全部。如何将p3ks的每个元素附加到隐藏的输入中?

2 个答案:

答案 0 :(得分:0)

为了便于阅读,我将参数作为参数传递给jQuery函数

看起来像

var values = ['argument1', 'argument2', 'argument3'];
var query_index = 43;

var jqueryAttributes = {
	id: 'query_form_tbl_info_' + query_index + '_pk3ss[]',
	name: 'query_form[tbl_info][' + query_index + '][pk3ss][]',
	type: 'hidden',
	value: JSON.stringify(values)
  // if your server don't support HTML encoding, use the one below instead
  // value: "['"+values.join("','")+"']"
};

var $newElement = $('<input/>', jqueryAttributes);

alert('you element would look like : ' + $newElement[0].outerHTML);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>

答案 1 :(得分:0)

您不会将数组放入字符串字段而不将其转换为字符串。

JSON formatvery useful for this

// convert the array to a string
var myString = JSON.stringify(myArray);

// put the string into the field as it's value
$('input').val(myString);

Javascript可以解释生成的字符串,服务器端语言可以轻松地将其从字符串转换为他们可以理解的数组值(参见phpruby

这是an example in a jsfiddle