/* 下拉菜单功能绑定 */ function bind_dropdown_list_new(selector, dropdown_template, data) { var selector_parent = $(selector).parent(); var selector_input = $(selector).find("input"); var nb_dropdown = $(selector_parent).find('#nb_dropdown'); //var nb_dropdown_list = $(nb_dropdown).find('#nb_dropdown_list'); selector_input.focus(function() { /* var sk_topic_top = $("input[name=sk_topic_top]:checked").val(); var sk_topic_top_alert = $("input[name=sk_topic_top]").parent().find("#sk_topic_top_alert"); if(typeof(sk_topic_top)=='undefined'){ sk_topic_top_alert.show(); }else{ sk_topic_top_alert.hide(); }*/ topic_keyword_search(selector, dropdown_template, data); }); $(selector).keyup(function(e) { topic_keyword_search(selector, dropdown_template, data); }); selector_input.blur(function() { nb_dropdown.delay(250).fadeOut(150); }); } var dropdown_template = { 'dropdown_li': '
  • {{topic_title}}
  • ', 'delete_btn': ''}; function insertkeyword(selector){ var topic_id = $(selector).attr("data_id"); if(topic_id=='add'){ var topic_title = $(selector).attr("topictitle"); var url = G_BASE_URL + '/topic/ajax/save_topic_simp/'; $.post(url,{'topic_title':topic_title},function(rsdata){ rsdata = JSON.parse(rsdata); if(rsdata.errno==1){ topic_id = rsdata.rsm.topic_id; keyword_edit_dom(selector,{'topic_id':topic_id,'topic_title':topic_title}); }else{ var myalert = rsdata.err; console.log(myalert); } }) }else{ var topic_title = $(selector).text(); keyword_edit_dom(selector,{'topic_id':topic_id,'topic_title':topic_title}); } } function keyword_edit_dom(selector,toipc_detail){ var topic_id = toipc_detail.topic_id;// $(selector).attr("data_id"); var topic_title = toipc_detail.topic_title;// $(selector).text(); var dropdown_input = $("#dropdown_input").find("input"); var description = $("#huxing_desc"); var desc_val = description.val(); var desc_id = $("#desc_id"); var desc_id_val = desc_id.val(); dropdown_input.before(Hogan.compile(dropdown_template.delete_btn).render({'topic_title': topic_title,'topic_id': topic_id})); dropdown_input.val('').trigger("change"); var dot = desc_val.length>0 ? ',' : ''; description.val( desc_val + dot + topic_title).trigger("change"); desc_id.val( desc_id_val + dot + topic_id); dropdown_input.prev().find("a[data_id="+topic_id+"]").click(function(){ desc_val = description.val(); desc_id_val = desc_id.val(); var last_dot = desc_val.lastIndexOf(","); if(last_dot===-1){ description.val('').trigger("change"); desc_id.val(''); }else{ description.val(desc_val.substr(0,last_dot)).trigger("change"); var last_id_dot = desc_id_val.lastIndexOf(","); desc_id.val(desc_id_val.substr(0,last_id_dot)); } dropdown_input.prev().remove(); }); } var dropdown_list_xhr; function topic_keyword_search(selector, dropdown_template, data){ var selector_parent = $(selector).parent(); var selector_input = $(selector).find("input"); var nb_dropdown = $(selector_parent).find('#nb_dropdown'); var nb_dropdown_list = $(nb_dropdown).find('#nb_dropdown_list'); var keyword = selector_input.val(); var keywordt = trim(keyword); if (keywordt.length >= 1) { if (typeof dropdown_list_xhr !== "undefined") { dropdown_list_xhr.abort(); //中止上一次ajax请求 } var url = G_BASE_URL + '/search/dropdown/'+data+'/?s=' + encodeURIComponent(keyword) + '&limit=10'; dropdown_list_xhr = $.get(url, function(result){ nb_dropdown.show(); //console.log(result); var add_topic_new = {'topic_title':'添加 '+keyword,'topic_id':'add','addon':'topictitle='+keyword+''}; if(!result || typeof result === 'undefined' || result === null){ //console.log(result); result = []; result[0] = add_topic_new; } //console.log(result);console.log(dropdown_list_xhr); var rs_length = result.length; if (rs_length !== 0 && typeof dropdown_list_xhr !== "undefined") { nb_dropdown_list.html(''); //清空内容 var count=0; var needadd = 1; $.each(result, function(index, listval) { count++; if(listval.topic_title===keyword){ needadd = 0; } var selected_topic_ids = ','+$("#desc_id").val()+','; //console.log(selected_topic_ids);console.log($("#desc_id").val()); if(selected_topic_ids.indexOf(','+listval.topic_id+',')!==-1){return true;} //console.log(selected_topic_ids);console.log(listval.topic_id); if(typeof listval.addon === "undefined"){ listval.addon=''; } nb_dropdown_list.append(Hogan.compile(dropdown_template.dropdown_li).render({'topic_title': listval.topic_title,'topic_id': listval.topic_id,'addon':listval.addon})); if(( typeof(listval.topic_id)!=="undefined"&&listval.topic_id!=="0" )||( count===rs_length && needadd===1 )){ var mouseevent = function(topic_id){ var li_now = nb_dropdown_list.find("#topic_"+topic_id); li_now.mouseover(function(){ li_now.css({'background-color':'#d6e9f8'}); }); li_now.mouseout(function(){ li_now.css({'background-color':'#FFF'}); }); li_now.click(function(){ insertkeyword(li_now); }); }; if(count===rs_length && needadd===1&&listval.topic_id!=="add"){ nb_dropdown_list.append(Hogan.compile(dropdown_template.dropdown_li).render({'topic_title': add_topic_new.topic_title,'topic_id': add_topic_new.topic_id,'addon':add_topic_new.addon})); mouseevent(add_topic_new.topic_id); } mouseevent(listval.topic_id); } }); } }, 'json'); } else { nb_dropdown_list.html(''); nb_dropdown.hide(); } }