Jquery не получает текущее значение элемента

0

Я использую версию jquery 1.9 для добавления элемента текстового поля с разделением запятой. вот мой jquerycode

var str=$("to1").val();
    $("#sup").on('change',function(){
        if($("#sup").val()!=""){
            if(str == undefined){
            //alert('here');
            str="";
            str+=$(this).val();
            $("#to1").val(str);
            }else{
            console.log(str);
            str+=","+$(this).val();
            $("#to1").val(str);
            }       
        }
    });

Но когда я удаляю один идентификатор электронной почты с помощью backspace и выбираю другой идентификатор электронной почты, тогда его добавляет предыдущий.

вот мой jsfiddle http://jsfiddle.net/7GFj5/1/

Как добавить его в текущий список рассылки

Теги:

2 ответа

0

Эта скрипка также касается первого элемента, не требующего запятой.

$('#sup').change( function() {
    if ($(this).val() != '') {
        if ($('#to1').val() != "")
            $('#to1').val($('#to1').val() + ', ' + $(this).val());
        else
            $('#to1').val($(this).val());
    }
});
0

Переменная str должна быть объявлена внутри обработчика change, проблема в том, что любое ручное изменение, сделанное в текстовом поле, не будет обновлять переменную str

$(function () {
    $("#sup").on('change', function () {
        var str = $("#to1").val();
        if ($("#sup").val() != "") {
            if (str == undefined) {
                //alert('here');
                str = "";
                str += $(this).val();
                $("#to1").val(str);
            } else {
                console.log(str);
                str += "," + $(this).val();
                $("#to1").val(str);
            }
        }
    });
});

Демо: скрипка

  • 0
    Это работает, но я хочу добавить идентификатор электронной почты через запятую, как в моем примере.
  • 0
    @ user1567682 missed # in var str = $("#to1").val();

Ещё вопросы

Сообщество Overcoder
Наверх
Меню