我创建了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/
感谢您的帮助
答案 0 :(得分: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);
});
});
答案 1 :(得分: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()
修改或获取文字区域的内容......