JS去除重複的字串內容
阿新 • • 發佈:2018-11-16
function checkRe(checkid) { var id = window.parent.getQry("ctrid") + "_"; var values = window.parent.opener.document.getElementById(id + "txt_dept_name").value; var keys = window.parent.opener.document.getElementById(id + "hf_ids").value; var ary = checkid.value.split("|"); var newsValues = ary[0]; var newsKeys = ary[1]; if (checkid.checked) { values = values + "," + newsValues; keys = keys + "," + newsKeys; } else { values = values.replace(new RegExp("," + newsValues), ""); keys = values.replace(new RegExp("," + newsKeys), ""); } values = okd(values); keys = okd(keys); window.parent.opener.document.getElementById(id + "txt_dept_name").value = values; window.parent.opener.document.getElementById(id + "hf_ids").value = keys; return; } //轉換成陣列,去掉重複,再組合好。 function okd(str) { var ary = str.split(","); // 去重的演算法 var json = {}; for (var i = 0; i < ary.length; i++) { if (ary[i] != "") { json["a" + ary[i]] = ary[i]; } } // 檢視結果 var str2 = ""; for (var key in json) { str2 += "," + json[key]; } var s = str2.toString(); //去掉第一個逗號 if (s.substr(0, 1) == ',') { s = s.substr(1); } return s; } function add_all() { var ck = document.getElementsByTagName("input"); for (i = 0; i < ck.length; i++) { if (ck[i].type == "checkbox") { ck[i].checked = true; checkRe(ck[i]); } } } function del_all() { var id = window.parent.getQry("ctrid") + "_"; window.parent.opener.document.getElementById(id + "txt_dept_name").value = ""; window.parent.opener.document.getElementById(id + "hf_ids").value = ""; var ck = document.getElementsByTagName("input"); for (i = 0; i < ck.length; i++) { if (ck[i].type == "checkbox") { ck[i].checked = false; } } }
<input id='chk_pkId' type='checkbox' name='chk' onclick='checkRe(this);' value='值|pkId' />