Jquery没有获得当前元素值

时间:2013-12-01 11:16:08

标签: jquery

我正在使用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);
            }       
        }
    });

但是当我通过退格键删除一个电子邮件ID并选择另一个电子邮件ID时,它会附加前一个。

这是我的jsfiddle http://jsfiddle.net/7GFj5/1/

如何将其附加到当前电子邮件列表

2 个答案:

答案 0 :(得分: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);
            }
        }
    });
});

演示:Fiddle

答案 1 :(得分:0)

This fiddle还处理第一个不需要逗号的项目。

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