jQuery在输入标记中推送多个值

时间:2014-11-06 12:12:44

标签: javascript jquery json jquery-ui-autocomplete

输入标记

<input id="user" type="text" name="user" class="form-control" />
<input id="user_id" type="hidden" name="user_id" value="" />

User Autocomplete Input

jQuery 代码,用于在搜索任何用户时更改隐藏输入中的值

terms.push( ui.item.emp_id );
jQuery("#user_id").val(ui.item.emp_id);

此处emp_id是从ajax响应传递的userId,因此输入现在看起来像(12是userID)

<input id="user_id" type="hidden" name="user_id" value="12" />

如何在输入中推送多个值,使其如下所示

<input id="user_id" type="hidden" name="user_id" value="12,13,14" />

json_encode

中传递的数组
$array_pm[] = array('label' => $row['emp_name'],
                            'value' => $row['emp_name'],
                            'emp_id' => $row['emp_id']
                            );

我当前的脚本只会在隐藏的inpput中推送单个值,但是当用户搜索多个记录时如何推送多个值?

感谢。

1 个答案:

答案 0 :(得分:2)

在您将值设置为输入存储在某个临时变量之前,附加要存储的值并将输入值设置为此临时变量,例如。

var oldValue = jQuery("#user_id").val();
var arr = oldValue === "" ? [] : oldValue.split(',');
arr.push(ui.item.emp_id);
var newValue = arr.join(',');

jQuery("#user_id").val(newValue);

如果terms是要添加到输入的数组,则可以执行以下操作:

jQuery("#user_id").val(terms.join(','));

http://jsfiddle.net/9y2shao8/