0

我创建了 2 个按钮,第一个按钮:从多个选择字段导出到文本区域,第二个按钮:从文本区域中删除重复的行

导出按钮仅在我尚未单击删除重复项按钮时才起作用,如果我已经单击了删除重复项按钮,当我再次单击导出按钮时,它不再起作用

function eliminateDuplicates(arr) {
    var i,
    len=arr.length,
    out=[],
    obj={};

    for (i=0;i<len;i++) {
        obj[arr[i]]=0;
    }
    for (i in obj) {
        out.push(i);
    }
    return out;
}
$(document).ready(function(){
    $("#remove-duplicates-button").click(function(){
        $("#text-area").val(eliminateDuplicates($("#text-area").val().split("\n")).join("\n"));
    });
    $("#export-button").click(function(){
        var hotels = [];
        $('#hotels :selected').each(function(i, selected){
            hotels[i] = $(selected).val()+"\n";
        });
        $("#text-area").append(hotels);
    });
});

需要帮助修复,这是演示http://jsfiddle.net/4dtxf/3/

感谢您的帮助

4

2 回答 2

0

好吧,您似乎有一些语法错误,例如缺少;和逗号而不是它们。更新:并使用val而不是append设置textarea值。

function eliminateDuplicates(arr) {
    var i=0;
    var len=arr.length;
    var out=[];
    var obj={};

    for (i=0;i<len;i++) {
        obj[arr[i]]=0;
    }
    for (i in obj) {
        out.push(i);
    }
    return out;
}

$(document).ready(function(){
    $("#remove-duplicates-button").click(function(){
        $("#text-area").val(eliminateDuplicates($("#text-area").val().split("\n")).join("\n"));
    });
    $("#export-button").click(function(){
        var hotels = [];
        $('#hotels :selected').each(function(i, selected){
            hotels[i] = $(selected).val()+"\n";
        });
        var h=hotels.toString().replace(/,/g,'');
        $("#text-area").val(h);
    });
});

http://jsfiddle.net/4dtxf/13/

于 2013-06-26T07:21:23.737 回答
0

请改用此代码:

function eliminateDuplicates(arr) {
    var i,
    len=arr.length,
    out=[],
    obj={};

    for (i=0;i<len;i++) {
        obj[arr[i]]=0;
    }
    for (i in obj) {
        out.push(i);
    }
    return out;
}
$(document).ready(function(){
    $("#remove-duplicates-button").click(function(){
        $("#text-area").val(eliminateDuplicates($("#text-area").val().split("\n")).join("\n"));
    });
    $("#export-button").click(function(){
        $("#text-area").val("");
        $('#hotels :selected').each(function(i, selected){
            $("#text-area").val($("#text-area").val() + $(selected).val()+"\n");
        });
    });
});

始终用于val()修改或获取文本区域的内容...

http://jsfiddle.net/4dtxf/14/

于 2013-06-26T07:26:41.827 回答