Ну ещё бы.
У Вас переменная str_start
объявляется в $(document).ready()
, то есть сразу после загрузки страницы. Соответственно, принимает она значение, изначально установленное в value
у #text-input
(те самые Ваши "один,три"), и... больше не переопределяется. Поэтому, как бы вы не тыркали чекбоксы, при вводе текста в #text-input-cityes
в начало #text-input
всё равно будет подставлено изначальное значение, которое хранится в str_start
.
Решением будет либо удалить переменную str_start
и использовать вместо неё $text.val()
, либо объявить переменную str_start
сразу после объявления $text
и переопределять её в $box.on("click")
, после $text.val(values.join(","));
.
P.S.: JSFiddle упал. :)