2013-06-26 39 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