2013-06-26 27 views
0

创建2个按钮,第一按钮:从多个选择字段导出到文本区,第二个按钮:去除从文本区jquery的出口选择的选项与删除文本区复制线

出口重复行按钮只有当我还没有点击删除重复按钮,如果我已经点击了删除重复按钮,当我再次单击导出按钮的工作原理,它不工作再次

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/

感谢您的帮助

回答

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/

+0

它的工作,但其他问题出现,当我手动输入文本区域,然后尝试按钮,不再工作 – user770668

+0

现在它会正常工作 - 'HTML()已被'val()'替换... – Atrox111

+0

它终于我想要的。非常感谢 – user770668

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/

+0

点击删除重复按钮,然后点击导出按钮,它的不起作用。有人知道为什么吗? – user770668

+0

等一下,你为什么要这样?你不能从空的'textarea'中删除重复项 - 它是空的**。你应该先填充它。你的'remove-duplicates-button'对'textarea'的内容起作用。 –

+0

是的,你是对的,但你不能第二次出口 – Atrox111