JQuery - добавьте значение в INPUT, сохраняя его в списке с разделителями-запятыми

У меня есть вход вроде:

<input type="hidden" id="attachment-uuids" value="">

Я хотел бы иметь возможность добавлять значение в Input в разное время:

$('#attachment-uuids).val('55555');

приводит к:

<input type="hidden" id="attachment-uuids" value="55555">

Но затем выполните:

$('#attachment-uuids).val('66666');

приводит к:

<input type="hidden" id="attachment-uuids" value="66666">

Где мне бы хотелось:

<input type="hidden" id="attachment-uuids" value="55555, 66666">

как я могу добавить значения, когда значение пустое, и когда значение не пусто с листом с разделителями-запятыми?

Спасибо

Ответы

Ответ 1

$('#attachment-uuids').val(function(i,val) { 
     return val + (!val ? '' : ', ') + '66666';
});

EDIT: Как отметил @mkoryak, я делаю ненужное отрицание val в условном операторе. Его можно переписать без ! как:

(val ? ', ' : '')

Ответ 2

Просто добавьте условие при добавлении значения в поле.

var cur_val = $('#attachment-uuids').val();
if(cur_val)
  $('#attachment-uuids').val(cur_val + "," + new_val);
else
  $('#attachment-uuids').val(new_val);

Ответ 3

Append не будет работать для ввода. Но вы можете использовать:

$("#txt1").get(0).value+="+";

Ответ 4

Я считаю, что функция .append() предназначена именно для этой цели. Я просто попробовал:

$("#attachment-uuids").append(new_val); 

чтобы добавить значения в поле. Это работает, и "attachment-uuids" заполняется CSV, если требуется.