jquery.modal.userselectlayer.js 112 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027
  1. /* ============================================================
  2. * jquery.modal.userselectlayer.js 职位、地区、行业、专业
  3. * ============================================================ */
  4. !function($) {
  5. var backdropLayerTpl = '<div class="modal_backdrop fade"></div>';
  6. var htmlLayerTpl = ['<div class="modal">', '<div class="modal_dialog">', '<div class="modal_content pie_about">', '<div class="modal_header">', '<span class="title J_modal_title"></span>', '<span class="max_remind J_modal_max"></span>', '<a href="javascript:;" class="close J_dismiss_modal"></a>', '</div>', '<div class="modal_body">', '<div class="listed_group" id="J_listed_group">', '<div class="left_text">已选择:</div>', '<div class="center_text" id="J_listed_content"></div>', '<a href="javascript:;" class="right_text" id="J_listed_clear">清空</a>', '<div class="clear"></div>', '</div>', '<div class="J_modal_content"></div>', '</div>', '<div class="modal_footer">', '<div class="res_add_but">', '<div class="butlist">', '<div class="btn_blue J_hoverbut btn_100_38 J_btnyes">确 定</div>', '</div>', '<div class="butlist">', '<div class="btn_lightgray J_hoverbut btn_100_38 J_dismiss_modal J_btncancel">取 消</div>', '</div>', '<div class="clear"></div>', '</div>', '</div>', '<input type="hidden" class="J_btnload" />', '</div>', '</div>', '</div>'].join('');
  7. // 点击显示行业分类
  8. $('#J_showmodal_trade').on('click', function() {
  9. var titleValue = $(this).data('title');
  10. var multipleValue = eval($(this).data('multiple'));
  11. var maxNumValue = eval($(this).data('maxnum'));
  12. var widthValue = eval($(this).data('width'));
  13. var htmlTrade = '';
  14. if (QS_trade) {
  15. htmlTrade += '<div class="modal_body_box modal_body_box1">';
  16. htmlTrade += '<ul class="list_nav1">';
  17. if (multipleValue) {
  18. for (var i = 0; i < QS_trade.length; i++) {
  19. if (QS_trade[i].split(',')) {
  20. var iArray = QS_trade[i].split(',');
  21. htmlTrade += ['<li>', '<label>', '<input class="J_list_trade" type="checkbox" data-code="' + iArray[0] + '" data-title="' + iArray[1] + '"> ', '' + iArray[1] + '</label>', '</li>', ].join('');
  22. }
  23. }
  24. } else {
  25. for (var i = 0; i < QS_trade.length; i++) {
  26. if (QS_trade[i].split(',')) {
  27. var iArray = QS_trade[i].split(',');
  28. htmlTrade += ['<li>', '<label class="J_list_trade" type="checkbox" data-code="' + iArray[0] + '" data-title="' + iArray[1] + '">', '' + iArray[1] + '</label>', '</li>', ].join('');
  29. }
  30. }
  31. }
  32. htmlTrade += '<div class="clear"></div>';
  33. htmlTrade += '</ul>';
  34. htmlTrade += '</div>';
  35. }
  36. prepareModal(titleValue, multipleValue, maxNumValue);
  37. $('.J_modal_content').html(htmlTrade);
  38. $('.J_btnyes').attr('id', 'J_btnyes_trade');
  39. $('.modal_dialog').css({
  40. width: widthValue + 'px',
  41. left: ($(window).width() - widthValue) / 2,
  42. top: ($(window).height() - $('.modal_dialog').outerHeight()) / 2 + $(document).scrollTop()
  43. });
  44. $('.modal_backdrop').addClass('in');
  45. // 恢复选中
  46. var recoverValue = $('#J_showmodal_trade .J_resultcode_trade').val();
  47. if (recoverValue.length) {
  48. var recoverValueArray = recoverValue.split(',');
  49. for (var i = 0; i < recoverValueArray.length; i++) {
  50. $('.J_list_trade').each(function(index, el) {
  51. if ($(this).data('code') == recoverValueArray[i]) {
  52. $(this).prop('checked', !0);
  53. $(this).closest('li').addClass('current');
  54. }
  55. });
  56. }
  57. if (multipleValue) {
  58. copyTradeSelected();
  59. }
  60. }
  61. // 行业列表点击
  62. $('.J_list_trade').off().on('click', function() {
  63. if (multipleValue) {
  64. if ($(this).is(':checked')) {
  65. $(this).closest('li').addClass('current');
  66. var checkedArray = $('.J_list_trade:checked');
  67. if (checkedArray.length > maxNumValue) {
  68. disapperTooltip("remind", '最多选择' + maxNumValue + '个');
  69. $(this).prop('checked', 0);
  70. $(this).closest('li').removeClass('current');
  71. return false;
  72. } else {
  73. copyTradeSelected();
  74. }
  75. } else {
  76. $(this).closest('li').removeClass('current');
  77. copyTradeSelected();
  78. }
  79. } else {
  80. $(this).closest('li').addClass('current');
  81. var code = $(this).data('code');
  82. var title = $(this).data('title');
  83. $('#J_showmodal_trade .J_resultcode_trade').val(code);
  84. $('#J_showmodal_trade .J_resuletitle_trade').text(title);
  85. $('#J_showmodal_trade .J_resuletitle_trade').attr('title', title);
  86. $('.modal_backdrop').remove();
  87. $('.modal').remove();
  88. }
  89. });
  90. function copyTradeSelected() {
  91. var htmlListed = '';
  92. $('.J_list_trade:checked').each(function(index, el) {
  93. var listedCode = $(this).data('code');
  94. var listedTitle = $(this).data('title');
  95. htmlListed += ['<div class="listed_item_parent J_listed_trade" data-code="' + listedCode + '" data-title="' + listedTitle + '">', '<a href="javascript:;" class="listed_item">', '<span>' + listedTitle + '</span><div class="del"></div>', '</a>', '</div>'].join('');
  96. });
  97. $('#J_listed_content').html(htmlListed);
  98. if ($('.J_listed_trade').length) {
  99. $('#J_listed_group').addClass('nmb');
  100. } else {
  101. $('#J_listed_group').removeClass('nmb');
  102. }
  103. $('#J_listed_group').show();
  104. }
  105. $(document).off('click','.J_listed_trade').on('click','.J_listed_trade', function() {
  106. var listedValue = $(this).data('code');
  107. $('.J_list_trade').each(function(index, el) {
  108. if ($(this).data('code') == listedValue) {
  109. $(this).prop('checked', 0);
  110. $(this).closest('li').removeClass('current');
  111. }
  112. });
  113. copyTradeSelected();
  114. });
  115. // 清空
  116. $('#J_listed_clear').on('click', function() {
  117. $('.J_list_trade:checked').each(function(index, el) {
  118. $(this).prop('checked', 0);
  119. $(this).closest('li').removeClass('current');
  120. });
  121. copyTradeSelected();
  122. });
  123. // 确定
  124. $('#J_btnyes_trade').on('click', function(event) {
  125. var checkedArray = $('.J_list_trade:checked');
  126. var codeArray = new Array();
  127. var titleArray = new Array();
  128. $.each(checkedArray, function(index, val) {
  129. codeArray[index] = $(this).data('code');
  130. titleArray[index] = $(this).data('title');
  131. });
  132. $('#J_showmodal_trade .J_resultcode_trade').val(codeArray.join(','));
  133. ;$('#J_showmodal_trade .J_resuletitle_trade').text(titleArray.length ? titleArray.join('+') : '不限');
  134. $('#J_showmodal_trade .J_resuletitle_trade').attr('title', titleArray.length ? titleArray.join('+') : '不限');
  135. removeModal();
  136. });
  137. });
  138. $("#content_3").on('click','.J_showmodal_trade',function(){
  139. console.log('sdafdsf')
  140. var titleValue = $(this).data('title');
  141. var multipleValue = eval($(this).data('multiple'));
  142. var maxNumValue = eval($(this).data('maxnum'));
  143. var widthValue = eval($(this).data('width'));
  144. var htmlTrade = '';
  145. if (QS_trade) {
  146. htmlTrade += '<div class="modal_body_box modal_body_box1">';
  147. htmlTrade += '<ul class="list_nav1">';
  148. if (multipleValue) {
  149. for (var i = 0; i < QS_trade.length; i++) {
  150. if (QS_trade[i].split(',')) {
  151. var iArray = QS_trade[i].split(',');
  152. htmlTrade += ['<li>', '<label>', '<input class="J_list_trade" type="checkbox" data-code="' + iArray[0] + '" data-title="' + iArray[1] + '"> ', '' + iArray[1] + '</label>', '</li>', ].join('');
  153. }
  154. }
  155. } else {
  156. for (var i = 0; i < QS_trade.length; i++) {
  157. if (QS_trade[i].split(',')) {
  158. var iArray = QS_trade[i].split(',');
  159. htmlTrade += ['<li>', '<label class="J_list_trade" type="checkbox" data-code="' + iArray[0] + '" data-title="' + iArray[1] + '">', '' + iArray[1] + '</label>', '</li>', ].join('');
  160. }
  161. }
  162. }
  163. htmlTrade += '<div class="clear"></div>';
  164. htmlTrade += '</ul>';
  165. htmlTrade += '</div>';
  166. }
  167. prepareModal(titleValue, multipleValue, maxNumValue);
  168. $('.J_modal_content').html(htmlTrade);
  169. $('.J_btnyes').attr('id', 'J_btnyes_trade');
  170. $('.modal_dialog').css({
  171. width: widthValue + 'px',
  172. left: ($(window).width() - widthValue) / 2,
  173. top: ($(window).height() - $('.modal_dialog').outerHeight()) / 2 + $(document).scrollTop()
  174. });
  175. $('.modal_backdrop').addClass('in');
  176. // 恢复选中
  177. var recoverValue = $('#J_showmodal_trade .J_resultcode_trade').val();
  178. if (recoverValue.length) {
  179. var recoverValueArray = recoverValue.split(',');
  180. for (var i = 0; i < recoverValueArray.length; i++) {
  181. $('.J_list_trade').each(function(index, el) {
  182. if ($(this).data('code') == recoverValueArray[i]) {
  183. $(this).prop('checked', !0);
  184. $(this).closest('li').addClass('current');
  185. }
  186. });
  187. }
  188. if (multipleValue) {
  189. copyTradeSelected();
  190. }
  191. }
  192. // 行业列表点击
  193. $('.J_list_trade').off().on('click', function() {
  194. if (multipleValue) {
  195. if ($(this).is(':checked')) {
  196. $(this).closest('li').addClass('current');
  197. var checkedArray = $('.J_list_trade:checked');
  198. if (checkedArray.length > maxNumValue) {
  199. disapperTooltip("remind", '最多选择' + maxNumValue + '个');
  200. $(this).prop('checked', 0);
  201. $(this).closest('li').removeClass('current');
  202. return false;
  203. } else {
  204. copyTradeSelected();
  205. }
  206. } else {
  207. $(this).closest('li').removeClass('current');
  208. copyTradeSelected();
  209. }
  210. } else {
  211. $(this).closest('li').addClass('current');
  212. var code = $(this).data('code');
  213. var title = $(this).data('title');
  214. $('#J_showmodal_trade .J_resultcode_trade').val(code);
  215. $('#J_showmodal_trade .J_resuletitle_trade').text(title);
  216. $('#J_showmodal_trade .J_resuletitle_trade').attr('title', title);
  217. $('.modal_backdrop').remove();
  218. $('.modal').remove();
  219. }
  220. });
  221. function copyTradeSelected() {
  222. var htmlListed = '';
  223. $('.J_list_trade:checked').each(function(index, el) {
  224. var listedCode = $(this).data('code');
  225. var listedTitle = $(this).data('title');
  226. htmlListed += ['<div class="listed_item_parent J_listed_trade" data-code="' + listedCode + '" data-title="' + listedTitle + '">', '<a href="javascript:;" class="listed_item">', '<span>' + listedTitle + '</span><div class="del"></div>', '</a>', '</div>'].join('');
  227. });
  228. $('#J_listed_content').html(htmlListed);
  229. if ($('.J_listed_trade').length) {
  230. $('#J_listed_group').addClass('nmb');
  231. } else {
  232. $('#J_listed_group').removeClass('nmb');
  233. }
  234. $('#J_listed_group').show();
  235. }
  236. $(document).off('click','.J_listed_trade').on('click','.J_listed_trade', function() {
  237. var listedValue = $(this).data('code');
  238. $('.J_list_trade').each(function(index, el) {
  239. if ($(this).data('code') == listedValue) {
  240. $(this).prop('checked', 0);
  241. $(this).closest('li').removeClass('current');
  242. }
  243. });
  244. copyTradeSelected();
  245. });
  246. // 清空
  247. $('#J_listed_clear').on('click', function() {
  248. $('.J_list_trade:checked').each(function(index, el) {
  249. $(this).prop('checked', 0);
  250. $(this).closest('li').removeClass('current');
  251. });
  252. copyTradeSelected();
  253. });
  254. // 确定
  255. $('#J_btnyes_trade').on('click', function(event) {
  256. var checkedArray = $('.J_list_trade:checked');
  257. var codeArray = new Array();
  258. var titleArray = new Array();
  259. $.each(checkedArray, function(index, val) {
  260. codeArray[index] = $(this).data('code');
  261. titleArray[index] = $(this).data('title');
  262. });
  263. $('#J_showmodal_trade .J_resultcode_trade').val(codeArray.join(','));
  264. ;$('#J_showmodal_trade .J_resuletitle_trade').text(titleArray.length ? titleArray.join('+') : '不限');
  265. $('#J_showmodal_trade .J_resuletitle_trade').attr('title', titleArray.length ? titleArray.join('+') : '不限');
  266. removeModal();
  267. });
  268. });
  269. // 点击显示专业分类
  270. $('#J_showmodal_major').on('click', function() {
  271. var titleValue = $(this).data('title');
  272. var multipleValue = eval($(this).data('multiple'));
  273. var maxNumValue = eval($(this).data('maxnum'));
  274. var widthValue = eval($(this).data('width'));
  275. var htmlMajor = '';
  276. if (QS_major_parent) {
  277. var major1Array = new Array();
  278. htmlMajor += '<div class="modal_body_box modal_body_box3">';
  279. htmlMajor += '<div class="left_box">';
  280. htmlMajor += '<ul class="list_nav">';
  281. for (var i = 0; i < QS_major_parent.length; i++) {
  282. if (QS_major_parent[i].split(',')) {
  283. var iArray = QS_major_parent[i].split(',');
  284. htmlMajor += ['<li class="J_list_major_parent" data-code="' + iArray[0] + '" data-title="' + iArray[1] + '">', '<label>' + iArray[1] + '</label>', '</li>'].join('');
  285. major1Array[i] = iArray[0];
  286. }
  287. }
  288. htmlMajor += '</ul>';
  289. htmlMajor += '</div>';
  290. htmlMajor += '<div class="right_box">';
  291. if (major1Array) {
  292. for (var i = 0; i < major1Array.length; i++) {
  293. if (QS_major[major1Array[i]]) {
  294. if (QS_major[major1Array[i]].split('`')) {
  295. var major11Array = QS_major[major1Array[i]].split('`');
  296. htmlMajor += '<ul class="list_nav J_list_major_group">';
  297. for (var j = 0; j < major11Array.length; j++) {
  298. if (major11Array[j].split(',')) {
  299. var jArray = major11Array[j].split(',');
  300. htmlMajor += ['<li class="J_list_major" data-code="' + jArray[0] + '" data-title="' + jArray[1] + '">', '<label>' + jArray[1] + '</label>', '</li>'].join('');
  301. }
  302. }
  303. htmlMajor += '</ul>';
  304. }
  305. }
  306. }
  307. }
  308. htmlMajor += '</div>';
  309. htmlMajor += '<div class="clear"></div>';
  310. htmlMajor += '</div>';
  311. }
  312. prepareModal(titleValue, multipleValue, maxNumValue);
  313. $('.J_modal_content').html(htmlMajor);
  314. $('.J_btnyes').attr('id', 'J_btnyes_major');
  315. $('.J_modal_content .right_box .list_nav').eq(0).show();
  316. $('.J_list_major_parent').eq(0).addClass('current');
  317. $('.modal_dialog').css({
  318. width: widthValue + 'px',
  319. left: ($(window).width() - widthValue) / 2,
  320. top: ($(window).height() - $('.modal_dialog').outerHeight()) / 2 + $(document).scrollTop()
  321. });
  322. $('.modal_backdrop').addClass('in');
  323. // 恢复选中
  324. var recoverValue = $('#J_showmodal_major .J_resultcode_major').val();
  325. if (recoverValue.length) {
  326. if (multipleValue) {
  327. var recoverValueArray = recoverValue.split(',');
  328. for (var i = 0; i < recoverValueArray.length; i++) {
  329. $('.J_list_major').each(function(index, el) {
  330. if ($(this).data('code') == recoverValueArray[i]) {
  331. $(this).addClass('seledted');
  332. }
  333. });
  334. }
  335. copyMajorSelected();
  336. } else {
  337. $('.J_list_major').each(function(index, el) {
  338. if ($(this).data('code') == recoverValue) {
  339. $(this).addClass('seledted');
  340. }
  341. });
  342. }
  343. $('.J_list_major_parent').removeClass('seledted current');
  344. $('.J_list_major.seledted').each(function(index, el) {
  345. var thisGroup = $(this).closest('.J_list_major_group');
  346. var subscriptValue = $('.J_list_major_group').index(thisGroup);
  347. $('.J_list_major_parent').eq(subscriptValue).addClass('seledted');
  348. });
  349. $('.J_list_major_parent.seledted').first().click();
  350. }
  351. $('.J_list_major_parent').on('click', function() {
  352. $(this).addClass('current').siblings('.J_list_major_parent').removeClass('current');
  353. var subscriptValue = $('.J_list_major_parent').index(this);
  354. $('.J_list_major_group').eq(subscriptValue).show().siblings('.J_list_major_group').hide();
  355. });
  356. $('.J_list_major').off().on('click', function() {
  357. if ($(this).hasClass('seledted')) {
  358. $(this).removeClass('seledted');
  359. if (multipleValue) {
  360. copyMajorSelected();
  361. }
  362. var thisGroup = $(this).closest('.J_list_major_group');
  363. var subscriptValue = $('.J_list_major_group').index(thisGroup);
  364. if (!thisGroup.find('.seledted').length) {
  365. $('.J_list_major_parent').eq(subscriptValue).removeClass('seledted').addClass('current');
  366. }
  367. } else {
  368. $(this).addClass('seledted');
  369. if (multipleValue) {
  370. if ($('.J_list_major.seledted').length > maxNumValue) {
  371. $(this).removeClass('seledted');
  372. disapperTooltip("remind", '最多选择' + maxNumValue + '个');
  373. return false;
  374. } else {
  375. copyMajorSelected();
  376. }
  377. var thisGroup = $(this).closest('.J_list_major_group');
  378. var subscriptValue = $('.J_list_major_group').index(thisGroup);
  379. $('.J_list_major_parent').eq(subscriptValue).addClass('seledted');
  380. } else {
  381. var code = $(this).data('code');
  382. var title = $(this).data('title');
  383. $('#J_showmodal_major .J_resultcode_major').val(code);
  384. $('#J_showmodal_major .J_resuletitle_major').text(title);
  385. $('#J_showmodal_major .J_resuletitle_major').attr('title', title);
  386. $('.modal_backdrop').remove();
  387. $('.modal').remove();
  388. }
  389. }
  390. });
  391. // 同步(关键)
  392. function copyMajorSelected() {
  393. var htmlListed = '';
  394. $('.J_list_major.seledted').each(function(index, el) {
  395. var listedCode = $(this).data('code');
  396. var listedTitle = $(this).data('title');
  397. htmlListed += ['<div class="listed_item_parent J_listed_major" data-code="' + listedCode + '" data-title="' + listedTitle + '">', '<a href="javascript:;" class="listed_item">', '<span>' + listedTitle + '</span><div class="del"></div>', '</a>', '</div>'].join('');
  398. });
  399. $('#J_listed_content').html(htmlListed);
  400. if ($('.J_listed_major').length) {
  401. $('#J_listed_group').addClass('nmb');
  402. } else {
  403. $('#J_listed_group').removeClass('nmb');
  404. }
  405. $('#J_listed_group').show();
  406. }
  407. // 已选分类点击
  408. $('.J_listed_major').off().on('click', function() {
  409. var listedValue = $(this).data('code');
  410. $('.J_list_major').each(function(index, el) {
  411. if ($(this).data('code') == listedValue) {
  412. $(this).removeClass('seledted');
  413. var thisGroup = $(this).closest('.J_list_major_group');
  414. var subscriptValue = $('.J_list_major_group').index(thisGroup);
  415. if (!thisGroup.find('.seledted').length) {
  416. $('.J_list_major_parent').eq(subscriptValue).removeClass('seledted');
  417. }
  418. }
  419. });
  420. copyMajorSelected();
  421. });
  422. // 清空
  423. $('#J_listed_clear').on('click', function() {
  424. $('.J_list_major.seledted').each(function(index, el) {
  425. $(this).removeClass('seledted');
  426. });
  427. $('.J_list_major_parent').removeClass('seledted');
  428. copyMajorSelected();
  429. });
  430. // 确定
  431. $('#J_btnyes_major').off().on('click', function() {
  432. var checkedArray = $('.J_list_major.seledted');
  433. var codeArray = new Array();
  434. var titleArray = new Array();
  435. $.each(checkedArray, function(index, val) {
  436. codeArray[index] = $(this).data('code');
  437. titleArray[index] = $(this).data('title');
  438. });
  439. $('#J_showmodal_major .J_resultcode_major').val(codeArray.join(','));
  440. ;$('#J_showmodal_major .J_resuletitle_major').text(titleArray.length ? titleArray.join('+') : '请选择');
  441. $('#J_showmodal_major .J_resuletitle_major').attr('title', titleArray.length ? titleArray.join('+') : '请选择');
  442. removeModal();
  443. });
  444. });
  445. // 点击显示地区分类
  446. $('#J_showmodal_city').on('click', function() {
  447. var titleValue = $(this).data('title');// 标题
  448. var multipleValue = eval($(this).data('multiple')); // 是否多选
  449. var maxNumValue = eval($(this).data('maxnum')); // 最多选择的数量
  450. var widthValue = eval($(this).data('width')); // 内容的宽度
  451. var htmlCity = '';
  452. var categoryValue = eval($(this).data('category')); // 几级分类的标识
  453. var addJob = eval($(this).data('addjob')); // 是否是发布职位
  454. // 发职位标识
  455. var classifyModel = 0;
  456. // 标记二级还是三级分类
  457. categoryValue > 2 ? classifyModel = 0 : classifyModel = 1;
  458. if (classifyModel) {
  459. // 二级分类
  460. if (QS_city_parent) {
  461. htmlCity += '<div class="modal_body_box modal_body_box3">';
  462. htmlCity += '<div class="left_box">';
  463. htmlCity += '<ul class="list_nav">';
  464. // 生成一级分类
  465. for (var i = 0; i < QS_city_parent.length; i++) {
  466. if (QS_city_parent[i].split(',')) {
  467. var iArray = QS_city_parent[i].split(',');
  468. htmlCity += ['<li class="J_list_city_parent" data-code="' + iArray[0] + '" data-title="' + iArray[1] + '">', '<label title="' + iArray[1] + '">' + iArray[1] + '</label>', '</li>'].join('');
  469. }
  470. }
  471. htmlCity += '</ul>';
  472. htmlCity += '</div>';
  473. htmlCity += '<div class="right_box">';
  474. if (QS_city_parent) {// 生成二级分类
  475. for (var i = 0; i < QS_city_parent.length; i++) {
  476. if (QS_city_parent[i].split(',')) {// 一级分类是否存在
  477. var city1Array = QS_city_parent[i].split(',');
  478. if (QS_city[city1Array[0]]) {// 是否存在该一级分类对应的子分类
  479. if (QS_city[city1Array[0]].split('`')) {// 子分类是否为空
  480. var city11Array = QS_city[city1Array[0]].split('`');
  481. htmlCity += '<ul class="list_nav J_list_city_group">';
  482. if (!addJob) {// 发布职位不出现不限
  483. htmlCity += ['<li class="J_list_city J_list_city_nolimit" data-code="' + city1Array[0] + '.0.0" data-title="' + city1Array[1] + '">', '<label>不限</label>', '</li>'].join('');
  484. }
  485. for (var j = 0; j < city11Array.length; j++) {
  486. if (city11Array[j].split(',')) {
  487. var jArray = city11Array[j].split(',');
  488. htmlCity += ['<li class="J_list_city" data-code="' + city1Array[0] + '.' + jArray[0] + '.0" data-title="' + jArray[1] + '">', '<label>' + jArray[1] + '</label>', '</li>'].join('');
  489. }
  490. }
  491. htmlCity += '</ul>';
  492. }
  493. } else {// 子分类为空
  494. htmlCity += '<ul class="list_nav J_list_city_group">';
  495. if (addJob) {// 发布职位时给出提示,不出现不限
  496. // 发布职位
  497. htmlCity += ['<li class="J_list_city_nolimit">', '<label>此分类下无子分类!</label>', '</li>'].join('');
  498. } else {// 无子分类显示不限
  499. htmlCity += ['<li class="J_list_city J_list_city_nolimit" data-code="' + city1Array[0] + '.0.0" data-title="' + city1Array[1] + '">', '<label>不限</label>', '</li>'].join('');
  500. }
  501. htmlCity += '</ul>';
  502. }
  503. }
  504. }
  505. }
  506. htmlCity += '</div>';
  507. htmlCity += '<div class="clear"></div>';
  508. htmlCity += '</div>';
  509. }
  510. prepareModal(titleValue, multipleValue, maxNumValue); // 初始化二级地区弹出框
  511. $('.J_modal_content').html(htmlCity);// 弹出框写入内容(根据缓存转换来的html)
  512. $('.J_btnyes').attr('id', 'J_btnyes_city');// 确定按钮绑定ID
  513. $('.J_modal_content .right_box .list_nav').eq(0).show();
  514. // 二级分类列表的第一个为显示状态,后面会根据是否需要恢复来重置
  515. $('.J_list_city_parent').eq(0).addClass('current');
  516. // 一级分类的第一个添加选中状态,后面会根据是否需要恢复来重置
  517. $('.modal_dialog').css({// 弹出框位置在屏幕正中
  518. width: widthValue + 'px',
  519. left: ($(window).width() - widthValue) / 2,
  520. top: ($(window).height() - $('.modal_dialog').outerHeight()) / 2 + $(document).scrollTop()
  521. });
  522. $('.modal_backdrop').addClass('in');// 半透明遮罩层添加动画的效果
  523. // 一级分类绑定事件
  524. $('.J_list_city_parent').on('click', function() {
  525. $(this).addClass('current').siblings('.J_list_city_parent').removeClass('current');
  526. var subscriptValue = $('.J_list_city_parent').index(this);
  527. $('.J_list_city_group').eq(subscriptValue).show().siblings('.J_list_city_group').hide();
  528. });
  529. // 恢复选中
  530. var recoverValue = $('#J_showmodal_city .J_resultcode_city').val();
  531. if (recoverValue.length) {// 隐藏表单中有值就进行复原
  532. // 原理->将隐藏表单中已选的值分割分别与弹出框二级列表的data-code比对,如果相同就添加选中(这里如果是三级数据会导致匹配不上,出现弹出框中复原不了选中,需要重新选择保存)。
  533. if (multipleValue) {// 多选
  534. var recoverValueArray = recoverValue.split(',');
  535. for (var i = 0; i < recoverValueArray.length; i++) {
  536. $('.J_list_city').each(function(index, el) {
  537. if ($(this).data('code') == recoverValueArray[i]) {
  538. $(this).addClass('seledted');
  539. }
  540. });
  541. }
  542. copyCitySelectedSecond();// 调用选择同步的方法给复原选中的项目绑定相应的事件。
  543. } else {// 单选
  544. $('.J_list_city').each(function(index, el) {
  545. if ($(this).data('code') == recoverValue) {
  546. $(this).addClass('seledted');
  547. }
  548. });
  549. }
  550. // 重置一级分类的选中情况
  551. $('.J_list_city_parent').removeClass('seledted current');
  552. $('.J_list_city.seledted').each(function(index, el) {
  553. var thisGroup = $(this).closest('.J_list_city_group');
  554. var subscriptValue = $('.J_list_city_group').index(thisGroup);
  555. $('.J_list_city_parent').eq(subscriptValue).addClass('seledted');
  556. });
  557. $('.J_list_city_parent.seledted').first().click();// 选中列表的第一个显示
  558. }
  559. // 不限绑定事件
  560. $('.J_list_city_nolimit').off().on('click', function() {
  561. var thisGroup = $(this).closest('.J_list_city_group');
  562. thisGroup.find('.J_list_city').not('.J_list_city_nolimit').removeClass('seledted');
  563. });
  564. // 二级分类绑定事件
  565. $('.J_list_city').off().on('click', function() {
  566. if ($(this).hasClass('seledted')) { // 已经是选中状态
  567. $(this).removeClass('seledted');
  568. if (multipleValue) { // 多选情况下需要同步已选列表
  569. copyCitySelectedSecond();
  570. }
  571. // 判断当前分类下是否还有选中的项目,如果没有其他选中项目则将对应的一级分类已选状态去掉
  572. var thisGroup = $(this).closest('.J_list_city_group');
  573. var subscriptValue = $('.J_list_city_group').index(thisGroup);
  574. if (!thisGroup.find('.seledted').length) {
  575. $('.J_list_city_parent').eq(subscriptValue).removeClass('seledted').addClass('current');
  576. }
  577. } else { // 未选中状态
  578. $(this).addClass('seledted');
  579. if (multipleValue) {
  580. if (!$(this).is('.J_list_city_nolimit')) {// 判断是否点击的是不限
  581. var thisGroup = $(this).closest('.J_list_city_group');
  582. thisGroup.find('.J_list_city_nolimit').removeClass('seledted');
  583. }
  584. // 是否超出最大选择数量
  585. if ($('.J_list_city.seledted').length > maxNumValue) {
  586. $(this).removeClass('seledted');
  587. disapperTooltip("remind", '最多选择' + maxNumValue + '个');
  588. return false;
  589. } else {
  590. copyCitySelectedSecond();
  591. }
  592. // 将对应的一级分类添加已选状态
  593. var thisGroup = $(this).closest('.J_list_city_group');
  594. var subscriptValue = $('.J_list_city_group').index(thisGroup);
  595. $('.J_list_city_parent').eq(subscriptValue).addClass('seledted');
  596. } else {// 单选直接赋值然后关闭弹出框
  597. var code = $(this).data('code');
  598. var title = $(this).data('title');
  599. $('#J_showmodal_city .J_resultcode_city').val(code);
  600. $('#J_showmodal_city .J_resuletitle_city').text(title);
  601. $('#J_showmodal_city .J_resuletitle_city').attr('title', title);
  602. $('.modal_backdrop').remove();
  603. $('.modal').remove();
  604. }
  605. }
  606. });
  607. // 同步选择与已选列表
  608. function copyCitySelectedSecond() {
  609. var htmlListed = '';
  610. $('.J_list_city.seledted').each(function(index, el) {
  611. var listedCode = $(this).data('code');
  612. var listedTitle = $(this).data('title');
  613. htmlListed += ['<div class="listed_item_parent J_listed_city" data-code="' + listedCode + '" data-title="' + listedTitle + '">', '<a href="javascript:;" class="listed_item">', '<span>' + listedTitle + '</span><div class="del"></div>', '</a>', '</div>'].join('');
  614. });
  615. $('#J_listed_content').html(htmlListed);
  616. if ($('.J_listed_city').length) {
  617. $('#J_listed_group').addClass('nmb');
  618. } else {
  619. $('#J_listed_group').removeClass('nmb');
  620. }
  621. $('#J_listed_group').show();
  622. }
  623. // 已选列表绑定时间
  624. $('.J_listed_city').off().on('click', function() {
  625. var listedValue = $(this).data('code');
  626. $('.J_list_city').each(function(index, el) {
  627. if ($(this).data('code') == listedValue) {
  628. $(this).removeClass('seledted');
  629. var thisGroup = $(this).closest('.J_list_city_group');
  630. var subscriptValue = $('.J_list_city_group').index(thisGroup);
  631. if (!thisGroup.find('.seledted').length) {
  632. $('.J_list_city_parent').eq(subscriptValue).removeClass('seledted');
  633. }
  634. }
  635. });
  636. copyCitySelectedSecond();
  637. });
  638. // 清空已选
  639. $('#J_listed_clear').on('click', function() {
  640. $('.J_list_city.seledted').each(function(index, el) {
  641. $(this).removeClass('seledted');
  642. });
  643. $('.J_list_city_parent').removeClass('seledted');
  644. copyCitySelectedSecond();
  645. });
  646. // 二级地区确定按钮绑定事件
  647. $('#J_btnyes_city').off().on('click', function() {
  648. var checkedArray = $('.J_list_city.seledted');
  649. var codeArray = new Array();
  650. var titleArray = new Array();
  651. $.each(checkedArray, function(index, val) {
  652. codeArray[index] = $(this).data('code');
  653. titleArray[index] = $(this).data('title');
  654. });
  655. $('#J_showmodal_city .J_resultcode_city').val(codeArray.join(','));
  656. $('#J_showmodal_city .J_resuletitle_city').text(titleArray.length ? titleArray.join('+') : '请选择');
  657. $('#J_showmodal_city .J_resuletitle_city').attr('title', titleArray.length ? titleArray.join('+') : '请选择');
  658. removeModal();
  659. });
  660. } else {
  661. // 三级分类
  662. if (QS_city_parent) {
  663. var city2Array = new Array();// 创建数组用来存放生成三级分类的依照
  664. var htmlCity = '<div class="modal_body_box modal_body_box2">';
  665. htmlCity += '<div class="item">';
  666. htmlCity += '<ul class="list_nav">';
  667. // 生成一级分类
  668. for (var i = 0; i < QS_city_parent.length; i++) {
  669. if (QS_city_parent[i].split(',')) {
  670. var iArray = QS_city_parent[i].split(',');
  671. htmlCity += ['<li class="J_list_city_parent">', '<label title="' + iArray[1] + '">' + iArray[1] + '</label>', '</li>'].join('');
  672. }
  673. }
  674. htmlCity += '</ul>';
  675. htmlCity += '</div>';
  676. htmlCity += '<div class="item">';
  677. if (QS_city_parent) {
  678. // 生成二级分类
  679. for (var i = 0; i < QS_city_parent.length; i++) {
  680. if (QS_city_parent[i].split(',')) {// 是否存在一级分类
  681. var city1Array = QS_city_parent[i].split(',');
  682. if (QS_city[city1Array[0]]) {// 该分类下对应的子分类是否存在
  683. if (QS_city[city1Array[0]].split('`')) {// 子分类是否为空
  684. var city11Array = QS_city[city1Array[0]].split('`');
  685. htmlCity += '<ul class="list_nav J_list_city_group1">';
  686. for (var j = 0; j < city11Array.length; j++) {
  687. if (city11Array[j].split(',')) {
  688. var jArray = city11Array[j].split(',');
  689. htmlCity += ['<li class="J_list_city_parent1">', '<label>' + jArray[1] + '</label>', '</li>'].join('');
  690. city2Array.push(city1Array[0] + '.' + jArray[0] + '.' + jArray[1]);
  691. }
  692. }
  693. htmlCity += '</ul>';
  694. }
  695. } else {
  696. // 无二级分类
  697. city2Array.push(city1Array[0] + '.0.此分类下无子分类!');
  698. htmlCity += '<ul class="list_nav J_list_city_group1">';
  699. htmlCity += ['<li class="J_list_city_parent1">', '<label>此分类下无子分类!</label>', '</li>'].join('');
  700. htmlCity += '</ul>';
  701. }
  702. }
  703. }
  704. }
  705. htmlCity += '</div>';
  706. htmlCity += '<div class="item">';
  707. if (city2Array) {
  708. if (multipleValue) { // 多选
  709. for (var i = 0; i < city2Array.length; i++) {
  710. if (city2Array[i].split('.')) { // 二级分类是否存在
  711. var combinationArray = city2Array[i].split('.');
  712. if (QS_city[combinationArray[1]]) { // 三级分类是否存在
  713. if (QS_city[combinationArray[1]].split('`')) {// 三级分类是否为空
  714. var city22Array = QS_city[combinationArray[1]].split('`');
  715. htmlCity += '<ul class="list_nav J_list_city_group2">';
  716. if (!addJob) {// 发职位时需要选择最后一级,不出现不限。
  717. htmlCity += ['<li>', '<label>', '<input class="J_list_city J_list_city_nolimit" type="checkbox" data-code="' + combinationArray[0] + '.' + combinationArray[1] + '.0" data-title="' + combinationArray[2] + '"> ', '不限</label>', '</li>'].join('');
  718. }
  719. for (var j = 0; j < city22Array.length; j++) {
  720. if (city22Array[j].split(',')) {
  721. var jArray = city22Array[j].split(',');
  722. htmlCity += ['<li>', '<label>', '<input class="J_list_city" type="checkbox" data-code="' + combinationArray[0] + '.' + combinationArray[1] + '.' + jArray[0] + '" data-title="' + jArray[1] + '"> ', '' + jArray[1] + '</label>', '</li>'].join('');
  723. }
  724. }
  725. htmlCity += '</ul>';
  726. }
  727. } else {// 三级分类不存在
  728. htmlCity += '<ul class="list_nav J_list_city_group2">';
  729. if (addJob) {
  730. // 发布职位时最后一级不存在则给出提示
  731. htmlCity += ['<li>', '<label>', '此分类下无子分类!</label>', '</li>'].join('');
  732. } else {
  733. if (eval(combinationArray[1]) == 0) {// 二级分类为空
  734. htmlCity += ['<li>', '<label>', '此分类下无子分类!</label>', '</li>'].join('');
  735. } else {// 发布职位之外最后一级不存在的情况下显示不限
  736. htmlCity += ['<li>', '<label>', '<input class="J_list_city J_list_city_nolimit" type="checkbox" data-code="' + combinationArray[0] + '.' + combinationArray[1] + '.0" data-title="' + combinationArray[2] + '"> ', '不限</label>', '</li>'].join('');
  737. }
  738. }
  739. htmlCity += '</ul>';
  740. }
  741. }
  742. }
  743. } else {
  744. // 单选
  745. for (var i = 0; i < city2Array.length; i++) {
  746. if (city2Array[i].split('.')) {// 二级分类是否存在
  747. var combinationArray = city2Array[i].split('.');
  748. if (QS_city[combinationArray[1]]) {// 改分类下的三级分类是否存在
  749. if (QS_city[combinationArray[1]].split('`')) {// 三级分类是否为空
  750. var city22Array = QS_city[combinationArray[1]].split('`');
  751. htmlCity += '<ul class="list_nav J_list_city_group2">';
  752. if (!addJob) {// 发布职位时最后一级不能显示不限
  753. htmlCity += ['<li>', '<label class="J_list_city J_list_city_nolimit" type="checkbox" data-code="' + combinationArray[0] + '.' + combinationArray[1] + '.0" data-title="' + combinationArray[2] + '">', '不限</label>', '</li>'].join('');
  754. }
  755. for (var j = 0; j < city22Array.length; j++) {
  756. if (city22Array[j].split(',')) {
  757. var jArray = city22Array[j].split(',');
  758. htmlCity += ['<li>', '<label class="J_list_city" type="checkbox" data-code="' + combinationArray[0] + '.' + combinationArray[1] + '.' + jArray[0] + '" data-title="' + jArray[1] + '">', '' + jArray[1] + '</label>', '</li>'].join('');
  759. }
  760. }
  761. htmlCity += '</ul>';
  762. }
  763. } else {
  764. // 三级分类不存在
  765. htmlCity += '<ul class="list_nav J_list_city_group2">';
  766. if (addJob) {
  767. // 发布职位时无三级分类则给出提示
  768. htmlCity += ['<li>', '<label>', '此分类下无子分类!</label>', '</li>'].join('');
  769. } else {
  770. if (eval(combinationArray[1]) == 0) {// 二级分类为空
  771. htmlCity += ['<li>', '<label>', '此分类下无子分类!</label>', '</li>'].join('');
  772. } else {// 除发布职位外无三级分类时显示不限
  773. htmlCity += ['<li>', '<label class="J_list_city J_list_city_nolimit" type="checkbox" data-code="' + combinationArray[0] + '.' + combinationArray[1] + '.0" data-title="' + combinationArray[2] + '">', '不限</label>', '</li>'].join('');
  774. }
  775. }
  776. htmlCity += '</ul>';
  777. }
  778. }
  779. }
  780. }
  781. }
  782. htmlCity += '</div>';
  783. htmlCity += '<div class="clear"></div>';
  784. htmlCity += '</div>';
  785. }
  786. prepareModal(titleValue, multipleValue, maxNumValue);// 初始化三级地区弹出框
  787. $('.J_modal_content').html(htmlCity);// 三级地区弹出框填充内容
  788. $('.J_btnyes').attr('id', 'J_btnyes_city');// 确定按钮绑定ID
  789. // 设置默认项目,之后会根据是否需要复原来重置
  790. $('.J_modal_content .item').eq(0).find('.list_nav').show(); // 一级分类列表显示
  791. $('.J_list_city_parent').eq(0).addClass('current');// 默认一级分类的第一个列表项为选中状态
  792. $('.J_list_city_parent1').eq(0).addClass('current');// 二级分类的第一个列表项为选中状态
  793. $('.J_list_city_group1').eq(0).show();// 二级分类的第一个列表显示
  794. $('.J_list_city_group2').eq(0).show();// 三级分类的第一个列表显示
  795. // 弹出框居中显示
  796. $('.modal_dialog').css({
  797. width: widthValue + 'px',
  798. left: ($(window).width() - widthValue) / 2,
  799. top: ($(window).height() - $('.modal_dialog').outerHeight()) / 2 + $(document).scrollTop()
  800. });
  801. $('.modal_backdrop').addClass('in');// 遮罩层添加动画效果
  802. // 恢复选中
  803. var recoverValue = $('#J_showmodal_city .J_resultcode_city').val();
  804. if (recoverValue.length) {// 隐藏表单中有值就进行复原
  805. // 原理->将隐藏表单中已选的值分割分别与弹出框三级列表的data-code比对,如果相同就添加选中(这里如果是二级数据会导致匹配不上,出现弹出框中复原不了选中,需要重新选择保存)。
  806. if (multipleValue) {// 多选
  807. var recoverValueArray = recoverValue.split(',');
  808. for (var i = 0; i < recoverValueArray.length; i++) {
  809. $('.J_list_city').each(function(index, el) {
  810. if ($(this).data('code') == recoverValueArray[i]) {
  811. $(this).closest('li').addClass('seledted');
  812. $(this).prop('checked', !0);
  813. }
  814. });
  815. }
  816. copyCitySelected();// 同步选中,已选列表绑定事件
  817. } else {// 单选
  818. $('.J_list_city').each(function(index, el) {
  819. if ($(this).data('code') == recoverValue) {
  820. $(this).closest('li').addClass('seledted');
  821. }
  822. });
  823. }
  824. // 将默认的选中状态去掉
  825. $('.J_list_city_parent').removeClass('seledted current');
  826. $('.J_list_city_parent1').removeClass('seledted current');
  827. // 复原选中状态的原理->首先获取选中项当前三级分类的下标,根据下标为对应的二级分类添加选中状态,然后获取二级分类选中项的下标,为一级分类添加选中状态。
  828. if (multipleValue) {
  829. $('.J_list_city:checked').each(function(index, el) {
  830. var thisGroup = $(this).closest('.J_list_city_group2');
  831. var subscriptValue = $('.J_list_city_group2').index(thisGroup);
  832. $('.J_list_city_parent1').eq(subscriptValue).addClass('seledted');
  833. var thisGroup2 = $('.J_list_city_parent1').eq(subscriptValue).closest('.J_list_city_group1');
  834. var subscriptValue1 = $('.J_list_city_group1').index(thisGroup2);
  835. $('.J_list_city_parent').eq(subscriptValue1).addClass('seledted');
  836. });
  837. } else {
  838. $('.J_list_city').each(function(index, el) {
  839. if ($(this).closest('li').hasClass('seledted')) {
  840. var thisGroup = $(this).closest('.J_list_city_group2');
  841. var subscriptValue = $('.J_list_city_group2').index(thisGroup);
  842. $('.J_list_city_parent1').eq(subscriptValue).addClass('seledted');
  843. var thisGroup2 = $('.J_list_city_parent1').eq(subscriptValue).closest('.J_list_city_group1');
  844. var subscriptValue1 = $('.J_list_city_group1').index(thisGroup2);
  845. $('.J_list_city_parent').eq(subscriptValue1).addClass('seledted');
  846. }
  847. });
  848. }
  849. // 一级分类选中项的第一个选项添加当前状态class,对应的第一个二级分类显示,触发二级分类的点击事件,显示对应的三级分类。
  850. $($('.J_list_city_parent.seledted').first()).addClass('current').siblings('.J_list_city_parent').removeClass('current');
  851. var subscriptValue = $('.J_list_city_parent').index($('.J_list_city_parent.seledted').first());
  852. $('.J_list_city_group1').eq(subscriptValue).show().siblings('.J_list_city_group1').hide();
  853. $('.J_list_city_group1').eq(subscriptValue).find('.J_list_city_parent1').eq(0).click();
  854. // 二级分类的选中的第一个添加当前状态class,对应的三级分类显示。
  855. $($('.J_list_city_parent1.seledted').first()).addClass('current').siblings('.J_list_city_parent1').removeClass('current');
  856. var subscriptValueS = $('.J_list_city_parent1').index($('.J_list_city_parent1.seledted').first());
  857. $('.J_list_city_group2').eq(subscriptValueS).show().siblings('.J_list_city_group2').hide();
  858. }
  859. // 一级分类绑定事件
  860. $('.J_list_city_parent').on('click', function() {
  861. // 根据当前的下标显示对应的二级分类列表
  862. $(this).addClass('current').siblings('.J_list_city_parent').removeClass('current');
  863. var subscriptValue = $('.J_list_city_parent').index(this);
  864. $('.J_list_city_group1').eq(subscriptValue).show().siblings('.J_list_city_group1').hide();
  865. // 如果对应的二级分类有选中的,则显示选中的列表,反之显示第一个列表。
  866. var seledtedLength = $('.J_list_city_group1').eq(subscriptValue).find('.J_list_city_parent1.seledted').length;
  867. if (seledtedLength) {
  868. $('.J_list_city_group1').eq(subscriptValue).find('.J_list_city_parent1.seledted').eq(0).click();
  869. } else {
  870. $('.J_list_city_group1').eq(subscriptValue).find('.J_list_city_parent1').eq(0).click();
  871. }
  872. });
  873. // 二级分类绑定事件
  874. $('.J_list_city_parent1').on('click', function() {
  875. // 根据当前的下标显示对应的三级级分类列表
  876. $(this).addClass('current').siblings('.J_list_city_parent1').removeClass('current');
  877. var subscriptValue = $('.J_list_city_parent1').index(this);
  878. $('.J_list_city_group2').eq(subscriptValue).show().siblings('.J_list_city_group2').hide();
  879. });
  880. // 不限选项绑定事件
  881. $('.J_list_city_nolimit').off().on('click', function() {
  882. var thisGroup = $(this).closest('.J_list_city_group2');
  883. thisGroup.find('.J_list_city').not('.J_list_city_nolimit').prop('checked', 0);
  884. thisGroup.find('.J_list_city').not('.J_list_city_nolimit').closest('li').removeClass('seledted');
  885. });
  886. // 三级分类绑定事件
  887. $('.J_list_city').off().on('click', function() {
  888. if (multipleValue) {// 多选
  889. if ($(this).closest('li').hasClass('seledted')) {// 已经为选中状态
  890. $(this).closest('li').removeClass('seledted');
  891. copyCitySelected();// 同步选择
  892. var thisGroup = $(this).closest('.J_list_city_group2');
  893. var subscriptValue = $('.J_list_city_group2').index(thisGroup);
  894. if (!thisGroup.find('.seledted').length) {
  895. // 判断改三级分类列表下选中项的数量,如果为0则将对应的二级分类选中状态取消
  896. $('.J_list_city_parent1').eq(subscriptValue).removeClass('seledted').addClass('current');
  897. var thisGroup2 = $('.J_list_city_parent1').eq(subscriptValue).closest('.J_list_city_group1');
  898. var subscriptValue1 = $('.J_list_city_group1').index(thisGroup2);
  899. if (!thisGroup2.find('.seledted').length) {
  900. // 如果对应的二级分类列表选中项数量为0则将对应的一级分类的选中状态取消
  901. $('.J_list_city_parent').eq(subscriptValue1).removeClass('seledted').addClass('current');
  902. }
  903. }
  904. } else {// 未选中状态
  905. $(this).closest('li').addClass('seledted');
  906. if (!$(this).is('.J_list_city_nolimit')) {
  907. // 如果点击的是不限之外的选项,则取消掉不限的选中状态
  908. var thisGroup = $(this).closest('.J_list_city_group2');
  909. thisGroup.find('.J_list_city_nolimit').prop('checked', 0);
  910. thisGroup.find('.J_list_city_nolimit').closest('li').removeClass('seledted');
  911. }
  912. // 判断是否超出最大选择数量
  913. if ($('.J_list_city:checked').length > maxNumValue) {
  914. $(this).closest('li').removeClass('seledted');
  915. $(this).prop('checked', 0);
  916. disapperTooltip("remind", '最多选择' + maxNumValue + '个');
  917. return false;
  918. } else {
  919. copyCitySelected();// 同步选择
  920. }
  921. // 根据下标将对应的一级、二级分类添加选中状态
  922. var thisGroup = $(this).closest('.J_list_city_group2');
  923. var subscriptValue = $('.J_list_city_group2').index(thisGroup);
  924. $('.J_list_city_parent1').eq(subscriptValue).addClass('seledted');
  925. var thisGroup2 = $('.J_list_city_parent1').eq(subscriptValue).closest('.J_list_city_group1');
  926. var subscriptValue1 = $('.J_list_city_group1').index(thisGroup2);
  927. $('.J_list_city_parent').eq(subscriptValue1).addClass('seledted');
  928. }
  929. } else {// 单选
  930. // 先根据当前选中项的下标将对应的一级、二级分类添加选中状态,然后赋值
  931. $(this).closest('li').addClass('seledted');
  932. var thisGroup = $(this).closest('.J_list_city_group2');
  933. var subscriptValue = $('.J_list_city_group2').index(thisGroup);
  934. $('.J_list_city_parent1').removeClass('seledted');
  935. $('.J_list_city_parent1').eq(subscriptValue).addClass('seledted');
  936. var thisGroup2 = $('.J_list_city_parent1').eq(subscriptValue).closest('.J_list_city_group1');
  937. var subscriptValue1 = $('.J_list_city_group1').index(thisGroup2);
  938. $('.J_list_city_parent').removeClass('seledted');
  939. $('.J_list_city_parent').eq(subscriptValue1).addClass('seledted');
  940. var code = $(this).data('code');
  941. var title = $('.J_list_city_parent.seledted').find('label').attr('title');
  942. var title1 = $('.J_list_city_parent1.seledted').find('label').text();
  943. var title2 = $(this).data('title');
  944. $('#J_showmodal_city .J_resultcode_city').val(code);
  945. $('#J_showmodal_city .J_resuletitle_city').text(title + '/' + title1 + '/' + title2);
  946. $('#J_showmodal_city .J_resuletitle_city').attr('title', title);
  947. $('.modal_backdrop').remove();
  948. $('.modal').remove();
  949. }
  950. });
  951. // 同步列表和已选项目
  952. function copyCitySelected() {
  953. var htmlListed = '';
  954. $('.J_list_city:checked').each(function(index, el) {
  955. var listedCode = $(this).data('code');
  956. var listedTitle = $(this).data('title');
  957. htmlListed += ['<div class="listed_item_parent J_listed_city" data-code="' + listedCode + '" data-title="' + listedTitle + '">', '<a href="javascript:;" class="listed_item">', '<span>' + listedTitle + '</span><div class="del"></div>', '</a>', '</div>'].join('');
  958. });
  959. $('#J_listed_content').html(htmlListed);
  960. if ($('.J_listed_city').length) {
  961. $('#J_listed_group').addClass('nmb');
  962. } else {
  963. $('#J_listed_group').removeClass('nmb');
  964. }
  965. $('#J_listed_group').show();
  966. }
  967. // 已选项目绑定事件
  968. $('.J_listed_city').off().on('click', function() {
  969. var listedValue = $(this).data('code');
  970. $('.J_list_city').each(function(index, el) {
  971. if ($(this).data('code') == listedValue) {
  972. $(this).closest('li').removeClass('seledted');
  973. $(this).prop('checked', 0);
  974. var thisGroup = $(this).closest('.J_list_city_group2');
  975. var subscriptValue = $('.J_list_city_group2').index(thisGroup);
  976. if (!thisGroup.find('.seledted').length) {
  977. $('.J_list_city_parent1').eq(subscriptValue).removeClass('seledted current');
  978. var thisGroup2 = $('.J_list_city_parent1').eq(subscriptValue).closest('.J_list_city_group1');
  979. var subscriptValue1 = $('.J_list_city_group1').index(thisGroup2);
  980. if (!thisGroup2.find('.seledted').length) {
  981. $('.J_list_city_parent').eq(subscriptValue1).removeClass('seledted');
  982. }
  983. }
  984. }
  985. });
  986. copyCitySelected();
  987. });
  988. // 清空选择
  989. $('#J_listed_clear').on('click', function() {
  990. $('.J_list_city:checked').each(function(index, el) {
  991. $(this).closest('li').removeClass('seledted');
  992. $(this).prop('checked', 0);
  993. });
  994. $('.J_list_city_parent1').removeClass('seledted');
  995. $('.J_list_city_parent').removeClass('seledted');
  996. copyCitySelected();
  997. });
  998. // 三级地区确定按钮绑定事件
  999. $('#J_btnyes_city').off().on('click', function() {
  1000. var checkedArray = $('.J_list_city:checked');
  1001. var codeArray = new Array();
  1002. var titleArray = new Array();
  1003. $.each(checkedArray, function(index, val) {
  1004. codeArray[index] = $(this).data('code');
  1005. titleArray[index] = $(this).data('title');
  1006. });
  1007. $('#J_showmodal_city .J_resultcode_city').val(codeArray.join(','));
  1008. $('#J_showmodal_city .J_resuletitle_city').text(titleArray.length ? titleArray.join('+') : '请选择');
  1009. $('#J_showmodal_city .J_resuletitle_city').attr('title', titleArray.length ? titleArray.join('+') : '请选择');
  1010. removeModal();
  1011. });
  1012. }
  1013. });
  1014. // 点击显示职位分类
  1015. $('#J_showmodal_jobs').on('click', function() {
  1016. var titleValue = $(this).data('title');
  1017. var multipleValue = eval($(this).data('multiple'));
  1018. var maxNumValue = eval($(this).data('maxnum'));
  1019. var widthValue = eval($(this).data('width'));
  1020. var htmlJobs = '';
  1021. var categoryValue = eval($(this).data('category'));
  1022. var addJob = eval($(this).data('addjob'));
  1023. // 发职位标识
  1024. var classifyModel = 0;
  1025. // 标记二级还是三级分类
  1026. categoryValue > 2 ? classifyModel = 0 : classifyModel = 1;
  1027. if (classifyModel) {
  1028. // 二级分类
  1029. if (QS_jobs_parent) {
  1030. htmlJobs += '<div class="modal_body_box modal_body_box_jl2">';
  1031. htmlJobs += '<div class="left_box">';
  1032. htmlJobs += '<ul class="list_nav">';
  1033. for (var i = 0; i < QS_jobs_parent.length; i++) {
  1034. if (QS_jobs_parent[i].split(',')) {
  1035. var iArray = QS_jobs_parent[i].split(',');
  1036. htmlJobs += ['<li class="J_list_jobs_parent" data-code="' + iArray[0] + '" data-title="' + iArray[1] + '">', '<label title="' + iArray[1] + '">' + iArray[1] + '</label>', '</li>'].join('');
  1037. }
  1038. }
  1039. htmlJobs += '</ul>';
  1040. htmlJobs += '</div>';
  1041. htmlJobs += '<div class="right_box">';
  1042. if (QS_jobs_parent) {
  1043. for (var i = 0; i < QS_jobs_parent.length; i++) {
  1044. if (QS_jobs_parent[i].split(',')) {
  1045. var jobs1Array = QS_jobs_parent[i].split(',');
  1046. if (QS_jobs[jobs1Array[0]]) {
  1047. if (QS_jobs[jobs1Array[0]].split('`')) {
  1048. var jobs11Array = QS_jobs[jobs1Array[0]].split('`');
  1049. htmlJobs += '<ul class="list_nav J_list_jobs_group">';
  1050. if (!addJob) {
  1051. htmlJobs += ['<li class="J_list_jobs J_list_jobs_nolimit" data-code="' + jobs1Array[0] + '.0.0" data-title="' + jobs1Array[1] + '">', '<label>不限</label>', '</li>'].join('');
  1052. }
  1053. for (var j = 0; j < jobs11Array.length; j++) {
  1054. if (jobs11Array[j].split(',')) {
  1055. var jArray = jobs11Array[j].split(',');
  1056. htmlJobs += ['<li class="J_list_jobs" data-code="' + jobs1Array[0] + '.' + jArray[0] + '.0" data-title="' + jArray[1] + '">', '<label>' + jArray[1] + '</label>', '</li>'].join('');
  1057. }
  1058. }
  1059. htmlJobs += '</ul>';
  1060. }
  1061. } else {
  1062. htmlJobs += '<ul class="list_nav J_list_jobs_group">';
  1063. if (addJob) {
  1064. htmlJobs += ['<li class="J_list_jobs_nolimit">', '<label>此分类下无子分类!</label>', '</li>'].join('');
  1065. } else {
  1066. htmlJobs += ['<li class="J_list_jobs J_list_jobs_nolimit" data-code="' + jobs1Array[0] + '.0.0" data-title="' + jobs1Array[1] + '">', '<label>不限</label>', '</li>'].join('');
  1067. }
  1068. htmlJobs += '</ul>';
  1069. }
  1070. }
  1071. }
  1072. }
  1073. htmlJobs += '</div>';
  1074. htmlJobs += '<div class="clear"></div>';
  1075. htmlJobs += '</div>';
  1076. }
  1077. prepareModal(titleValue, multipleValue, maxNumValue);
  1078. $('.J_modal_content').html(htmlJobs);
  1079. $('.J_btnyes').attr('id', 'J_btnyes_jobs');
  1080. $('.J_modal_content .right_box .list_nav').eq(0).show();
  1081. $('.J_list_jobs_parent').eq(0).addClass('current');
  1082. $('.modal_dialog').css({
  1083. width: widthValue + 'px',
  1084. left: ($(window).width() - widthValue) / 2,
  1085. top: ($(window).height() - $('.modal_dialog').outerHeight()) / 2 + $(document).scrollTop()
  1086. });
  1087. $('.modal_backdrop').addClass('in');
  1088. $('.J_list_jobs_parent').on('click', function() {
  1089. $(this).addClass('current').siblings('.J_list_jobs_parent').removeClass('current');
  1090. var subscriptValue = $('.J_list_jobs_parent').index(this);
  1091. $('.J_list_jobs_group').eq(subscriptValue).show().siblings('.J_list_jobs_group').hide();
  1092. });
  1093. // 恢复选中
  1094. var recoverValue = $('#J_showmodal_jobs .J_resultcode_jobs').val();
  1095. if (recoverValue.length) {
  1096. if (multipleValue) {
  1097. var recoverValueArray = recoverValue.split(',');
  1098. for (var i = 0; i < recoverValueArray.length; i++) {
  1099. $('.J_list_jobs').each(function(index, el) {
  1100. if ($(this).data('code') == recoverValueArray[i]) {
  1101. $(this).addClass('seledted');
  1102. }
  1103. });
  1104. }
  1105. copyJobsSelectedSecond();
  1106. } else {
  1107. $('.J_list_jobs').each(function(index, el) {
  1108. if ($(this).data('code') == recoverValue) {
  1109. $(this).addClass('seledted');
  1110. }
  1111. });
  1112. }
  1113. $('.J_list_jobs_parent').removeClass('seledted current');
  1114. $('.J_list_jobs.seledted').each(function(index, el) {
  1115. var thisGroup = $(this).closest('.J_list_jobs_group');
  1116. var subscriptValue = $('.J_list_jobs_group').index(thisGroup);
  1117. $('.J_list_jobs_parent').eq(subscriptValue).addClass('seledted');
  1118. });
  1119. $('.J_list_jobs_parent.seledted').first().click();
  1120. }
  1121. // 不限
  1122. $('.J_list_jobs_nolimit').off().on('click', function() {
  1123. var thisGroup = $(this).closest('.J_list_jobs_group');
  1124. thisGroup.find('.J_list_jobs').not('.J_list_jobs_nolimit').removeClass('seledted');
  1125. });
  1126. $('.J_list_jobs').off().on('click', function() {
  1127. if ($(this).hasClass('seledted')) {
  1128. $(this).removeClass('seledted');
  1129. if (multipleValue) {
  1130. copyJobsSelectedSecond();
  1131. }
  1132. var thisGroup = $(this).closest('.J_list_jobs_group');
  1133. var subscriptValue = $('.J_list_jobs_group').index(thisGroup);
  1134. if (!thisGroup.find('.seledted').length) {
  1135. $('.J_list_jobs_parent').eq(subscriptValue).removeClass('seledted').addClass('current');
  1136. }
  1137. } else {
  1138. $(this).addClass('seledted');
  1139. if (multipleValue) {
  1140. if (!$(this).is('.J_list_jobs_nolimit')) {
  1141. var thisGroup = $(this).closest('.J_list_jobs_group');
  1142. thisGroup.find('.J_list_jobs_nolimit').removeClass('seledted');
  1143. }
  1144. if ($('.J_list_jobs.seledted').length > maxNumValue) {
  1145. $(this).removeClass('seledted');
  1146. disapperTooltip("remind", '最多选择' + maxNumValue + '个');
  1147. return false;
  1148. } else {
  1149. copyJobsSelectedSecond();
  1150. }
  1151. var thisGroup = $(this).closest('.J_list_jobs_group');
  1152. var subscriptValue = $('.J_list_jobs_group').index(thisGroup);
  1153. $('.J_list_jobs_parent').eq(subscriptValue).addClass('seledted');
  1154. } else {
  1155. var code = $(this).data('code');
  1156. var title = $(this).data('title');
  1157. $('#J_showmodal_jobs .J_resultcode_jobs').val(code);
  1158. $('#J_showmodal_jobs .J_resuletitle_jobs').text(title);
  1159. $('#J_showmodal_jobs .J_resuletitle_jobs').attr('title', title);
  1160. // 智能填充职位描述
  1161. if (addJob) {
  1162. var cId = code.split('.')[1];
  1163. $.ajax({
  1164. // url: qscms.root + '?m=Home&c=AjaxCompany&a=ajax_get_category_content',
  1165. url: ajaxGetCategoryContent,
  1166. type: 'GET',
  1167. dataType: 'json',
  1168. data: {
  1169. id: cId
  1170. }
  1171. }).done(function(data) {
  1172. if (parseInt(data.status)) {
  1173. if (parseInt(data.data.show_relation)) {
  1174. var ddh = '';
  1175. for (var dr = 0; dr < data.data.relation_data.length; dr++) {
  1176. ddh += '<a class="des-item';
  1177. if (parseInt(data.data.relation_data[dr].current)) {
  1178. ddh += ' cur';
  1179. } else {
  1180. ddh += ' J-rea-desc';
  1181. }
  1182. ddh += '" href="javascript:;" data-id="' + data.data.relation_data[dr].id + '" data-desc="' + data.data.relation_data[dr].desc + '">' + data.data.relation_data[dr].name + '</a>';
  1183. }
  1184. $('#des-item-group').html(ddh);
  1185. $('#des-cell-box').show();
  1186. } else {
  1187. $('#des-item-group').html('');
  1188. $('#des-cell-box').hide();
  1189. }
  1190. // 默认填写选中分类的描述
  1191. $('#contents').val(data.data.relation_data[0].desc);
  1192. // 相关分类绑定事件
  1193. $('.J-rea-desc').on('click', function() {
  1194. $('#des-item-group .des-item').removeClass('cur').addClass('J-rea-desc');
  1195. $(this).addClass('cur').removeClass('J-rea-desc');
  1196. $('#contents').val($(this).data('desc'));
  1197. })
  1198. } else {
  1199. console.log(data.msg);
  1200. }
  1201. }).fail(function(result) {
  1202. console.log(result.msg);
  1203. });
  1204. }
  1205. $('.modal_backdrop').remove();
  1206. $('.modal').remove();
  1207. }
  1208. }
  1209. });
  1210. function copyJobsSelectedSecond() {
  1211. var htmlListed = '';
  1212. $('.J_list_jobs.seledted').each(function(index, el) {
  1213. var listedCode = $(this).data('code');
  1214. var listedTitle = $(this).data('title');
  1215. htmlListed += ['<div class="listed_item_parent J_listed_jobs" data-code="' + listedCode + '" data-title="' + listedTitle + '">', '<a href="javascript:;" class="listed_item">', '<span>' + listedTitle + '</span><div class="del"></div>', '</a>', '</div>'].join('');
  1216. });
  1217. $('#J_listed_content').html(htmlListed);
  1218. if ($('.J_listed_jobs').length) {
  1219. $('#J_listed_group').addClass('nmb');
  1220. } else {
  1221. $('#J_listed_group').removeClass('nmb');
  1222. }
  1223. $('#J_listed_group').show();
  1224. }
  1225. $('.J_listed_jobs').off().on('click', function() {
  1226. var listedValue = $(this).data('code');
  1227. $('.J_list_jobs').each(function(index, el) {
  1228. if ($(this).data('code') == listedValue) {
  1229. $(this).removeClass('seledted');
  1230. var thisGroup = $(this).closest('.J_list_jobs_group');
  1231. var subscriptValue = $('.J_list_jobs_group').index(thisGroup);
  1232. if (!thisGroup.find('.seledted').length) {
  1233. $('.J_list_jobs_parent').eq(subscriptValue).removeClass('seledted');
  1234. }
  1235. }
  1236. });
  1237. copyJobsSelectedSecond();
  1238. });
  1239. $('#J_listed_clear').on('click', function() {
  1240. $('.J_list_jobs.seledted').each(function(index, el) {
  1241. $(this).removeClass('seledted');
  1242. });
  1243. $('.J_list_jobs_parent').removeClass('seledted');
  1244. copyJobsSelectedSecond();
  1245. });
  1246. $('#J_btnyes_jobs').off().on('click', function() {
  1247. var checkedArray = $('.J_list_jobs.seledted');
  1248. var codeArray = new Array();
  1249. var titleArray = new Array();
  1250. $.each(checkedArray, function(index, val) {
  1251. codeArray[index] = $(this).data('code');
  1252. titleArray[index] = $(this).data('title');
  1253. });
  1254. $('#J_showmodal_jobs .J_resultcode_jobs').val(codeArray.join(','));
  1255. ;$('#J_showmodal_jobs .J_resuletitle_jobs').text(titleArray.length ? titleArray.join('+') : '请选择');
  1256. $('#J_showmodal_jobs .J_resuletitle_jobs').attr('title', titleArray.length ? titleArray.join('+') : '请选择');
  1257. removeModal();
  1258. });
  1259. } else {
  1260. // 三级分类
  1261. if (QS_jobs_parent) {
  1262. var job2Array = new Array();
  1263. var htmlJobs = '<div class="modal_body_box modal_body_box2">';
  1264. htmlJobs += '<div class="item">';
  1265. htmlJobs += '<ul class="list_nav">';
  1266. for (var i = 0; i < QS_jobs_parent.length; i++) {
  1267. if (QS_jobs_parent[i].split(',')) {
  1268. var iArray = QS_jobs_parent[i].split(',');
  1269. htmlJobs += ['<li class="J_list_jobs_parent">', '<label title="' + iArray[1] + '">' + iArray[1] + '</label>', '</li>'].join('');
  1270. }
  1271. }
  1272. htmlJobs += '</ul>';
  1273. htmlJobs += '</div>';
  1274. htmlJobs += '<div class="item">';
  1275. if (QS_jobs_parent) {
  1276. for (var i = 0; i < QS_jobs_parent.length; i++) {
  1277. if (QS_jobs_parent[i].split(',')) {
  1278. var jobs1Array = QS_jobs_parent[i].split(',');
  1279. if (QS_jobs[jobs1Array[0]]) {
  1280. if (QS_jobs[jobs1Array[0]].split('`')) {
  1281. var job11Array = QS_jobs[jobs1Array[0]].split('`');
  1282. htmlJobs += '<ul class="list_nav J_list_jobs_group1">';
  1283. for (var j = 0; j < job11Array.length; j++) {
  1284. if (job11Array[j].split(',')) {
  1285. var jArray = job11Array[j].split(',');
  1286. htmlJobs += ['<li class="J_list_jobs_parent1">', '<label>' + jArray[1] + '</label>', '</li>'].join('');
  1287. job2Array.push(jobs1Array[0] + '.' + jArray[0] + '.' + jArray[1]);
  1288. }
  1289. }
  1290. htmlJobs += '</ul>';
  1291. }
  1292. } else {
  1293. // 无二级分类
  1294. job2Array.push(jobs1Array[0] + '.0.此分类下无子分类!');
  1295. htmlJobs += '<ul class="list_nav J_list_jobs_group1">';
  1296. htmlJobs += ['<li class="J_list_jobs_parent1">', '<label>此分类下无子分类!</label>', '</li>'].join('');
  1297. htmlJobs += '</ul>';
  1298. }
  1299. }
  1300. }
  1301. }
  1302. htmlJobs += '</div>';
  1303. htmlJobs += '<div class="item">';
  1304. if (job2Array) {
  1305. if (multipleValue) {
  1306. for (var i = 0; i < job2Array.length; i++) {
  1307. if (job2Array[i].split('.')) {
  1308. var combinationArray = job2Array[i].split('.')
  1309. if (QS_jobs[combinationArray[1]]) {
  1310. if (QS_jobs[combinationArray[1]].split('`')) {
  1311. var job22Array = QS_jobs[combinationArray[1]].split('`');
  1312. htmlJobs += '<ul class="list_nav J_list_jobs_group2">';
  1313. if (!addJob) {
  1314. htmlJobs += ['<li>', '<label>', '<input class="J_list_jobs J_list_jobs_nolimit" type="checkbox" data-code="' + combinationArray[0] + '.' + combinationArray[1] + '.0" data-title="' + combinationArray[2] + '"> ', '不限</label>', '</li>'].join('');
  1315. }
  1316. for (var j = 0; j < job22Array.length; j++) {
  1317. if (job22Array[j].split(',')) {
  1318. var jArray = job22Array[j].split(',');
  1319. htmlJobs += ['<li>', '<label>', '<input class="J_list_jobs" type="checkbox" data-code="' + combinationArray[0] + '.' + combinationArray[1] + '.' + jArray[0] + '" data-title="' + jArray[1] + '"> ', '' + jArray[1] + '</label>', '</li>'].join('');
  1320. }
  1321. }
  1322. htmlJobs += '</ul>';
  1323. }
  1324. } else {
  1325. htmlJobs += '<ul class="list_nav J_list_jobs_group2">';
  1326. if (addJob) {
  1327. htmlJobs += ['<li>', '<label>', '此分类下无子分类!</label>', '</li>'].join('');
  1328. } else {
  1329. if (eval(combinationArray[1]) == 0) {
  1330. htmlJobs += ['<li>', '<label>', '此分类下无子分类!</label>', '</li>'].join('');
  1331. } else {
  1332. htmlJobs += ['<li>', '<label>', '<input class="J_list_jobs J_list_jobs_nolimit" type="checkbox" data-code="' + combinationArray[0] + '.' + combinationArray[1] + '.0" data-title="' + combinationArray[2] + '"> ', '不限</label>', '</li>'].join('');
  1333. }
  1334. }
  1335. htmlJobs += '</ul>';
  1336. }
  1337. }
  1338. }
  1339. } else {
  1340. for (var i = 0; i < job2Array.length; i++) {
  1341. if (job2Array[i].split('.')) {
  1342. var combinationArray = job2Array[i].split('.')
  1343. if (QS_jobs[combinationArray[1]]) {
  1344. if (QS_jobs[combinationArray[1]].split('`')) {
  1345. var job22Array = QS_jobs[combinationArray[1]].split('`');
  1346. htmlJobs += '<ul class="list_nav J_list_jobs_group2">';
  1347. if (!addJob) {
  1348. htmlJobs += ['<li>', '<label class="J_list_jobs J_list_jobs_nolimit" type="checkbox" data-code="' + combinationArray[0] + '.' + combinationArray[1] + '.0" data-title="' + combinationArray[2] + '">', '不限</label>', '</li>'].join('');
  1349. }
  1350. for (var j = 0; j < job22Array.length; j++) {
  1351. if (job22Array[j].split(',')) {
  1352. var jArray = job22Array[j].split(',');
  1353. htmlJobs += ['<li>', '<label class="J_list_jobs" type="checkbox" data-code="' + combinationArray[0] + '.' + combinationArray[1] + '.' + jArray[0] + '" data-title="' + jArray[1] + '">', '' + jArray[1] + '</label>', '</li>'].join('');
  1354. }
  1355. }
  1356. htmlJobs += '</ul>';
  1357. }
  1358. } else {
  1359. htmlJobs += '<ul class="list_nav J_list_jobs_group2">';
  1360. if (addJob) {
  1361. htmlJobs += ['<li>', '<label>', '此分类下无子分类!</label>', '</li>'].join('');
  1362. } else {
  1363. if (eval(combinationArray[1]) == 0) {
  1364. htmlJobs += ['<li>', '<label>', '此分类下无子分类!</label>', '</li>'].join('');
  1365. } else {
  1366. htmlJobs += ['<li>', '<label class="J_list_jobs J_list_jobs_nolimit" type="checkbox" data-code="' + combinationArray[0] + '.' + combinationArray[1] + '.0" data-title="' + combinationArray[2] + '">', '不限</label>', '</li>'].join('');
  1367. }
  1368. }
  1369. htmlJobs += '</ul>';
  1370. }
  1371. }
  1372. }
  1373. }
  1374. }
  1375. htmlJobs += '</div>';
  1376. htmlJobs += '<div class="clear"></div>';
  1377. htmlJobs += '</div>';
  1378. }
  1379. prepareModal(titleValue, multipleValue, maxNumValue);
  1380. $('.J_modal_content').html(htmlJobs);
  1381. $('.J_btnyes').attr('id', 'J_btnyes_jobs');
  1382. $('.J_modal_content .item').eq(0).find('.list_nav').show();
  1383. $('.J_list_jobs_parent').eq(0).addClass('current');
  1384. $('.J_list_jobs_parent1').eq(0).addClass('current');
  1385. $('.J_list_jobs_group1').eq(0).show();
  1386. $('.J_list_jobs_group2').eq(0).show();
  1387. $('.modal_dialog').css({
  1388. width: widthValue + 'px',
  1389. left: ($(window).width() - widthValue) / 2,
  1390. top: ($(window).height() - $('.modal_dialog').outerHeight()) / 2 + $(document).scrollTop()
  1391. });
  1392. $('.modal_backdrop').addClass('in');
  1393. // 恢复选中
  1394. var recoverValue = $('#J_showmodal_jobs .J_resultcode_jobs').val();
  1395. if (recoverValue.length) {
  1396. if (multipleValue) {
  1397. var recoverValueArray = recoverValue.split(',');
  1398. for (var i = 0; i < recoverValueArray.length; i++) {
  1399. $('.J_list_jobs').each(function(index, el) {
  1400. if ($(this).data('code') == recoverValueArray[i]) {
  1401. $(this).closest('li').addClass('seledted');
  1402. $(this).prop('checked', !0);
  1403. }
  1404. });
  1405. }
  1406. copyJobsSelected();
  1407. } else {
  1408. $('.J_list_jobs').each(function(index, el) {
  1409. if ($(this).data('code') == recoverValue) {
  1410. $(this).closest('li').addClass('seledted');
  1411. $(this).prop('checked', !0);
  1412. }
  1413. });
  1414. }
  1415. $('.J_list_jobs_parent').removeClass('seledted current');
  1416. $('.J_list_jobs_parent1').removeClass('seledted current');
  1417. if (multipleValue) {
  1418. $('.J_list_jobs:checked').each(function(index, el) {
  1419. var thisGroup = $(this).closest('.J_list_jobs_group2');
  1420. var subscriptValue = $('.J_list_jobs_group2').index(thisGroup);
  1421. $('.J_list_jobs_parent1').eq(subscriptValue).addClass('seledted');
  1422. var thisGroup2 = $('.J_list_jobs_parent1').eq(subscriptValue).closest('.J_list_jobs_group1');
  1423. var subscriptValue1 = $('.J_list_jobs_group1').index(thisGroup2);
  1424. $('.J_list_jobs_parent').eq(subscriptValue1).addClass('seledted');
  1425. });
  1426. } else {
  1427. $('.J_list_jobs').each(function(index, el) {
  1428. if ($(this).closest('li').hasClass('seledted')) {
  1429. var thisGroup = $(this).closest('.J_list_jobs_group2');
  1430. var subscriptValue = $('.J_list_jobs_group2').index(thisGroup);
  1431. $('.J_list_jobs_parent1').eq(subscriptValue).addClass('seledted');
  1432. var thisGroup2 = $('.J_list_jobs_parent1').eq(subscriptValue).closest('.J_list_jobs_group1');
  1433. var subscriptValue1 = $('.J_list_jobs_group1').index(thisGroup2);
  1434. $('.J_list_jobs_parent').eq(subscriptValue1).addClass('seledted');
  1435. }
  1436. });
  1437. }
  1438. $('.J_list_jobs_parent.seledted').first().addClass('current').siblings('.J_list_jobs_parent').removeClass('current');
  1439. var subscriptValue = $('.J_list_jobs_parent').index($('.J_list_jobs_parent.seledted').first());
  1440. $('.J_list_jobs_group1').eq(subscriptValue).show().siblings('.J_list_jobs_group1').hide();
  1441. $('.J_list_jobs_group1').eq(subscriptValue).find('.J_list_jobs_parent1').eq(0).click();
  1442. $($('.J_list_jobs_parent1.seledted').first()).addClass('current').siblings('.J_list_jobs_parent1').removeClass('current');
  1443. var subscriptValue = $('.J_list_jobs_parent1').index($('.J_list_jobs_parent1.seledted').first());
  1444. $('.J_list_jobs_group2').eq(subscriptValue).show().siblings('.J_list_jobs_group2').hide();
  1445. }
  1446. $('.J_list_jobs_parent').on('click', function() {
  1447. $(this).addClass('current').siblings('.J_list_jobs_parent').removeClass('current');
  1448. var subscriptValue = $('.J_list_jobs_parent').index(this);
  1449. $('.J_list_jobs_group1').eq(subscriptValue).show().siblings('.J_list_jobs_group1').hide();
  1450. var seledtedLength = $('.J_list_jobs_group1').eq(subscriptValue).find('.J_list_jobs_parent1.seledted').length;
  1451. if (seledtedLength) {
  1452. $('.J_list_jobs_group1').eq(subscriptValue).find('.J_list_jobs_parent1.seledted').eq(0).click();
  1453. } else {
  1454. $('.J_list_jobs_group1').eq(subscriptValue).find('.J_list_jobs_parent1').eq(0).click();
  1455. }
  1456. });
  1457. $('.J_list_jobs_parent1').on('click', function() {
  1458. $(this).addClass('current').siblings('.J_list_jobs_parent1').removeClass('current');
  1459. var subscriptValue = $('.J_list_jobs_parent1').index(this);
  1460. $('.J_list_jobs_group2').eq(subscriptValue).show().siblings('.J_list_jobs_group2').hide();
  1461. });
  1462. // 不限
  1463. $('.J_list_jobs_nolimit').off().on('click', function() {
  1464. var thisGroup = $(this).closest('.J_list_jobs_group2');
  1465. thisGroup.find('.J_list_jobs').not('.J_list_jobs_nolimit').prop('checked', 0);
  1466. thisGroup.find('.J_list_jobs').not('.J_list_jobs_nolimit').closest('li').removeClass('seledted');
  1467. });
  1468. $('.J_list_jobs').on('click', function() {
  1469. if (multipleValue) {
  1470. if ($(this).closest('li').hasClass('seledted')) {
  1471. $(this).closest('li').removeClass('seledted');
  1472. copyJobsSelected();
  1473. var thisGroup = $(this).closest('.J_list_jobs_group2');
  1474. var subscriptValue = $('.J_list_jobs_group2').index(thisGroup);
  1475. if (!thisGroup.find('.seledted').length) {
  1476. $('.J_list_jobs_parent1').eq(subscriptValue).removeClass('seledted').addClass('current');
  1477. var thisGroup2 = $('.J_list_jobs_parent1').eq(subscriptValue).closest('.J_list_jobs_group1');
  1478. var subscriptValue1 = $('.J_list_jobs_group1').index(thisGroup2);
  1479. if (!thisGroup2.find('.seledted').length) {
  1480. $('.J_list_jobs_parent').eq(subscriptValue1).removeClass('seledted').addClass('current');
  1481. }
  1482. }
  1483. } else {
  1484. $(this).closest('li').addClass('seledted');
  1485. if (!$(this).is('.J_list_jobs_nolimit')) {
  1486. var thisGroup = $(this).closest('.J_list_jobs_group2');
  1487. thisGroup.find('.J_list_jobs_nolimit').prop('checked', 0);
  1488. thisGroup.find('.J_list_jobs_nolimit').closest('li').removeClass('seledted');
  1489. }
  1490. if ($('.J_list_jobs:checked').length > maxNumValue) {
  1491. $(this).closest('li').removeClass('seledted');
  1492. $(this).prop('checked', 0);
  1493. disapperTooltip("remind", '最多选择' + maxNumValue + '个');
  1494. return false;
  1495. } else {
  1496. copyJobsSelected();
  1497. }
  1498. var thisGroup = $(this).closest('.J_list_jobs_group2');
  1499. var subscriptValue = $('.J_list_jobs_group2').index(thisGroup);
  1500. $('.J_list_jobs_parent1').eq(subscriptValue).addClass('seledted');
  1501. var thisGroup2 = $('.J_list_jobs_parent1').eq(subscriptValue).closest('.J_list_jobs_group1');
  1502. var subscriptValue1 = $('.J_list_jobs_group1').index(thisGroup2);
  1503. $('.J_list_jobs_parent').eq(subscriptValue1).addClass('seledted');
  1504. }
  1505. } else {
  1506. var code = $(this).data('code');
  1507. var title = $(this).data('title');
  1508. $('#J_showmodal_jobs .J_resultcode_jobs').val(code);
  1509. $('#J_showmodal_jobs .J_resuletitle_jobs').text(title);
  1510. $('#J_showmodal_jobs .J_resuletitle_jobs').attr('title', title);
  1511. // 智能填充职位描述
  1512. if (addJob) {
  1513. var cId = code.split('.')[2];
  1514. $.ajax({
  1515. // url: qscms.root + '?m=Home&c=AjaxCompany&a=ajax_get_category_content',
  1516. url: ajaxGetCategoryContent,
  1517. type: 'GET',
  1518. dataType: 'json',
  1519. data: {
  1520. id: cId
  1521. }
  1522. }).done(function(data) {
  1523. if (parseInt(data.status)) {
  1524. if (parseInt(data.data.show_relation)) {
  1525. var ddh = '';
  1526. for (var dr = 0; dr < data.data.relation_data.length; dr++) {
  1527. ddh += '<a class="des-item';
  1528. if (parseInt(data.data.relation_data[dr].current)) {
  1529. ddh += ' cur';
  1530. } else {
  1531. ddh += ' J-rea-desc';
  1532. }
  1533. ddh += '" href="javascript:;" data-id="' + data.data.relation_data[dr].id + '" data-desc="' + data.data.relation_data[dr].desc + '">' + data.data.relation_data[dr].name + '</a>';
  1534. }
  1535. $('#des-item-group').html(ddh);
  1536. $('#des-cell-box').show();
  1537. } else {
  1538. $('#des-item-group').html('');
  1539. $('#des-cell-box').hide();
  1540. }
  1541. // 默认填写选中分类的描述
  1542. $('#contents').val(data.data.relation_data[0].desc);
  1543. // 相关分类绑定事件
  1544. $('.J-rea-desc').on('click', function() {
  1545. $('#des-item-group .des-item').removeClass('cur').addClass('J-rea-desc');
  1546. $(this).addClass('cur').removeClass('J-rea-desc');
  1547. $('#contents').val($(this).data('desc'));
  1548. })
  1549. } else {
  1550. console.log(data.msg);
  1551. }
  1552. }).fail(function(result) {
  1553. console.log(result.msg);
  1554. });
  1555. }
  1556. $('.modal_backdrop').remove();
  1557. $('.modal').remove();
  1558. }
  1559. });
  1560. function copyJobsSelected() {
  1561. var htmlListed = '';
  1562. $('.J_list_jobs:checked').each(function(index, el) {
  1563. var listedCode = $(this).data('code');
  1564. var listedTitle = $(this).data('title');
  1565. htmlListed += ['<div class="listed_item_parent J_listed_jobs" data-code="' + listedCode + '" data-title="' + listedTitle + '">', '<a href="javascript:;" class="listed_item">', '<span>' + listedTitle + '</span><div class="del"></div>', '</a>', '</div>'].join('');
  1566. });
  1567. $('#J_listed_content').html(htmlListed);
  1568. if ($('.J_listed_jobs').length) {
  1569. $('#J_listed_group').addClass('nmb');
  1570. } else {
  1571. $('#J_listed_group').removeClass('nmb');
  1572. }
  1573. $('#J_listed_group').show();
  1574. }
  1575. $(document).off('click', '.J_listed_jobs').on('click', '.J_listed_jobs',function() {
  1576. var listedValue = $(this).data('code');
  1577. $('.J_list_jobs').each(function(index, el) {
  1578. if ($(this).data('code') == listedValue) {
  1579. $(this).closest('li').removeClass('seledted');
  1580. $(this).prop('checked', 0);
  1581. var thisGroup = $(this).closest('.J_list_jobs_group2');
  1582. var subscriptValue = $('.J_list_jobs_group2').index(thisGroup);
  1583. if (!thisGroup.find('.seledted').length) {
  1584. $('.J_list_jobs_parent1').eq(subscriptValue).removeClass('seledted current');
  1585. var thisGroup2 = $('.J_list_jobs_parent1').eq(subscriptValue).closest('.J_list_jobs_group1');
  1586. var subscriptValue1 = $('.J_list_jobs_group1').index(thisGroup2);
  1587. if (!thisGroup2.find('.seledted').length) {
  1588. $('.J_list_jobs_parent').eq(subscriptValue1).removeClass('seledted');
  1589. }
  1590. }
  1591. }
  1592. });
  1593. copyJobsSelected();
  1594. });
  1595. $('#J_listed_clear').on('click', function() {
  1596. $('.J_list_jobs:checked').each(function(index, el) {
  1597. $(this).closest('li').removeClass('seledted');
  1598. $(this).prop('checked', 0);
  1599. });
  1600. $('.J_list_jobs_parent1').removeClass('seledted');
  1601. $('.J_list_jobs_parent').removeClass('seledted');
  1602. copyJobsSelected();
  1603. });
  1604. $('#J_btnyes_jobs').off().on('click', function() {
  1605. var checkedArray = $('.J_list_jobs:checked');
  1606. var codeArray = new Array();
  1607. var titleArray = new Array();
  1608. $.each(checkedArray, function(index, val) {
  1609. codeArray[index] = $(this).data('code');
  1610. titleArray[index] = $(this).data('title');
  1611. });
  1612. $('#J_showmodal_jobs .J_resultcode_jobs').val(codeArray.join(','));
  1613. ;$('#J_showmodal_jobs .J_resuletitle_jobs').text(titleArray.length ? titleArray.join('+') : '请选择');
  1614. $('#J_showmodal_jobs .J_resuletitle_jobs').attr('title', titleArray.length ? titleArray.join('+') : '请选择');
  1615. removeModal();
  1616. });
  1617. }
  1618. });
  1619. // 点击显示职位亮点
  1620. $('#J_showmodal_jobtag').on('click', function() {
  1621. var titleValue = $(this).data('title');
  1622. var multipleValue = eval($(this).data('multiple'));
  1623. var maxNumValue = eval($(this).data('maxnum'));
  1624. var widthValue = eval($(this).data('width'));
  1625. var htmlJobtag = '';
  1626. if (QS_jobtag) {
  1627. htmlJobtag += '<div class="modal_body_box modal_body_box4">';
  1628. for (var i = 0; i < QS_jobtag.length; i++) {
  1629. if (QS_jobtag[i].split(',')) {
  1630. var iArray = QS_jobtag[i].split(',');
  1631. htmlJobtag += ['<ul class="list_nav">', '<li>', '<label>', '<input class="J_list_jobtag" type="checkbox" data-code="' + iArray[0] + '" data-title="' + iArray[1] + '"> ', '' + iArray[1] + '</label>', '</li>', '</ul>'].join('');
  1632. }
  1633. }
  1634. htmlJobtag += '<div class="clear"></div>';
  1635. htmlJobtag += '</div>';
  1636. }
  1637. prepareModal(titleValue, multipleValue, maxNumValue);
  1638. $('.J_modal_content').html(htmlJobtag);
  1639. $('.J_btnyes').attr('id', 'J_btnyes_jobtag');
  1640. $('.modal_dialog').css({
  1641. width: widthValue + 'px',
  1642. left: ($(window).width() - widthValue) / 2,
  1643. top: ($(window).height() - $('.modal_dialog').outerHeight()) / 2 + $(document).scrollTop()
  1644. });
  1645. $('.modal_backdrop').addClass('in');
  1646. var recoverValue = $('#J_showmodal_jobtag .J_resultcode_jobtag').val();
  1647. if (recoverValue.length) {
  1648. var recoverValueArray = recoverValue.split(',');
  1649. for (var i = 0; i < recoverValueArray.length; i++) {
  1650. $('.J_list_jobtag').each(function(index, el) {
  1651. if ($(this).data('code') == recoverValueArray[i]) {
  1652. $(this).prop('checked', !0);
  1653. }
  1654. });
  1655. }
  1656. }
  1657. $('.J_list_jobtag').on('click', function() {
  1658. if (multipleValue) {
  1659. var checkedArray = $('.J_list_jobtag:checked');
  1660. if ($(this).is(':checked')) {
  1661. if (checkedArray.length > maxNumValue) {
  1662. disapperTooltip("remind", '最多选择' + maxNumValue + '个');
  1663. $(this).prop('checked', 0);
  1664. $(this).closest('li').removeClass('current');
  1665. return false;
  1666. }
  1667. } else {
  1668. $('.J_list_jobtag').not(':checked').prop('disabled', 0);
  1669. }
  1670. } else {
  1671. var code = $(this).data('code');
  1672. var title = $(this).data('title');
  1673. $('#J_showmodal_jobtag .J_resultcode_jobtag').val(code);
  1674. $('#J_showmodal_jobtag .J_resuletitle_jobtag').text(title);
  1675. $('#J_showmodal_jobtag .J_resuletitle_jobtag').attr('title', title);
  1676. $('.modal_backdrop').remove();
  1677. $('.modal').remove();
  1678. }
  1679. });
  1680. $('#J_btnyes_jobtag').on('click', function(event) {
  1681. var checkedArray = $('.J_list_jobtag:checked');
  1682. var codeArray = new Array();
  1683. var titleArray = new Array();
  1684. $.each(checkedArray, function(index, val) {
  1685. codeArray[index] = $(this).data('code');
  1686. titleArray[index] = $(this).data('title');
  1687. });
  1688. $('#J_showmodal_jobtag .J_resultcode_jobtag').val(codeArray.join(','));
  1689. $('#J_showmodal_jobtag .J_resuletitle_jobtag').text(titleArray.length ? titleArray.join('+') : '请选择');
  1690. $('#J_showmodal_jobtag .J_resuletitle_jobtag').attr('title', titleArray.length ? titleArray.join('+') : '请选择');
  1691. removeModal();
  1692. });
  1693. });
  1694. $('#J_showmodal_shareType').on('click', function() {
  1695. var titleValue = $(this).data('title');
  1696. var multipleValue = eval($(this).data('multiple'));
  1697. var maxNumValue = eval($(this).data('maxnum'));
  1698. var widthValue = eval($(this).data('width'));
  1699. var htmlJobtag = '';
  1700. if (QS_shareType) {
  1701. htmlJobtag += '<div class="modal_body_box modal_body_box4">';
  1702. for (var i = 0; i < QS_shareType.length; i++) {
  1703. if (QS_shareType[i].split(',')) {
  1704. var iArray = QS_shareType[i].split(',');
  1705. htmlJobtag += ['<ul class="list_nav">', '<li>', '<label>', '<input class="J_list_shareType" type="checkbox" data-code="' + iArray[0] + '" data-title="' + iArray[1] + '"> ', '' + iArray[1] + '</label>', '</li>', '</ul>'].join('');
  1706. }
  1707. }
  1708. htmlJobtag += '<div class="clear"></div>';
  1709. htmlJobtag += '</div>';
  1710. }
  1711. prepareModal(titleValue, multipleValue, maxNumValue);
  1712. $('.J_modal_content').html(htmlJobtag);
  1713. $('.J_btnyes').attr('id', 'J_btnyes_jobtag');
  1714. $('.modal_dialog').css({
  1715. width: widthValue + 'px',
  1716. left: ($(window).width() - widthValue) / 2,
  1717. top: ($(window).height() - $('.modal_dialog').outerHeight()) / 2 + $(document).scrollTop()
  1718. });
  1719. $('.modal_backdrop').addClass('in');
  1720. var recoverValue = $('#J_showmodal_shareType .J_resultcode_shareType').val();
  1721. if (recoverValue.length) {
  1722. var recoverValueArray = recoverValue.split(',');
  1723. for (var i = 0; i < recoverValueArray.length; i++) {
  1724. $('.J_list_shareType').each(function(index, el) {
  1725. if ($(this).data('code') == recoverValueArray[i]) {
  1726. $(this).prop('checked', !0);
  1727. }
  1728. });
  1729. }
  1730. }
  1731. $('.J_list_shareType').on('click', function() {
  1732. if (multipleValue) {
  1733. var checkedArray = $('.J_list_shareType:checked');
  1734. if ($(this).is(':checked')) {
  1735. if (checkedArray.length > maxNumValue) {
  1736. disapperTooltip("remind", '最多选择' + maxNumValue + '个');
  1737. $(this).prop('checked', 0);
  1738. $(this).closest('li').removeClass('current');
  1739. return false;
  1740. }
  1741. } else {
  1742. $('.J_list_shareType').not(':checked').prop('disabled', 0);
  1743. }
  1744. } else {
  1745. var code = $(this).data('code');
  1746. var title = $(this).data('title');
  1747. $('#J_showmodal_shareType .J_resultcode_shareType').val(code);
  1748. $('#J_showmodal_shareType .J_resuletitle_jobtag').text(title);
  1749. $('#J_showmodal_shareType .J_resuletitle_jobtag').attr('title', title);
  1750. $('.modal_backdrop').remove();
  1751. $('.modal').remove();
  1752. }
  1753. });
  1754. $('#J_btnyes_jobtag').on('click', function(event) {
  1755. var checkedArray = $('.J_list_shareType:checked');
  1756. var codeArray = new Array();
  1757. var titleArray = new Array();
  1758. $.each(checkedArray, function(index, val) {
  1759. codeArray[index] = $(this).data('code');
  1760. titleArray[index] = $(this).data('title');
  1761. });
  1762. $('#J_showmodal_shareType .J_resultcode_shareType').val(codeArray.join(','));
  1763. $('#J_showmodal_shareType .J_resuletitle_jobtag').text(titleArray.length ? titleArray.join('+') : '请选择');
  1764. $('#J_showmodal_shareType .J_resuletitle_jobtag').attr('title', titleArray.length ? titleArray.join('+') : '请选择');
  1765. removeModal();
  1766. });
  1767. });
  1768. // 点击显示简历标签
  1769. $('#J_showmodal_resumetag').on('click', function() {
  1770. var titleValue = $(this).data('title');
  1771. var multipleValue = eval($(this).data('multiple'));
  1772. var maxNumValue = eval($(this).data('maxnum'));
  1773. var widthValue = eval($(this).data('width'));
  1774. var htmlResumetag = '';
  1775. if (QS_resumetag) {
  1776. htmlResumetag += '<div class="modal_body_box modal_body_box1">';
  1777. for (var i = 0; i < QS_resumetag.length; i++) {
  1778. if (QS_resumetag[i].split(',')) {
  1779. var iArray = QS_resumetag[i].split(',');
  1780. htmlResumetag += ['<ul class="list_nav">', '<li>', '<label>', '<input class="J_list_resumetag" type="checkbox" data-code="' + iArray[0] + '" data-title="' + iArray[1] + '"> ', '' + iArray[1] + '</label>', '</li>', '</ul>'].join('');
  1781. }
  1782. }
  1783. htmlResumetag += '<div class="clear"></div>';
  1784. htmlResumetag += '</div>';
  1785. }
  1786. prepareModal(titleValue, multipleValue, maxNumValue);
  1787. $('.J_modal_content').html(htmlJobtag);
  1788. $('.J_btnyes').attr('id', 'J_btnyes_resumetag');
  1789. $('.modal_dialog').css({
  1790. width: widthValue + 'px',
  1791. left: ($(window).width() - widthValue) / 2,
  1792. top: ($(window).height() - $('.modal_dialog').outerHeight()) / 2 + $(document).scrollTop()
  1793. });
  1794. $('.modal_backdrop').addClass('in');
  1795. var recoverValue = $('#J_showmodal_resumetag .J_resultcode_resumetag').val();
  1796. if (recoverValue.length) {
  1797. var recoverValueArray = recoverValue.split(',');
  1798. for (var i = 0; i < recoverValueArray.length; i++) {
  1799. $('.J_list_resumetag').each(function(index, el) {
  1800. if ($(this).data('code') == recoverValueArray[i]) {
  1801. $(this).prop('checked', !0);
  1802. }
  1803. });
  1804. }
  1805. }
  1806. $('.J_list_resumetag').on('click', function() {
  1807. if (multipleValue) {
  1808. var checkedArray = $('.J_list_resumetag:checked');
  1809. if ($(this).is(':checked')) {
  1810. if (checkedArray.length > maxNumValue) {
  1811. disapperTooltip("remind", '最多选择' + maxNumValue + '个');
  1812. $(this).prop('checked', 0);
  1813. $(this).closest('li').removeClass('current');
  1814. return false;
  1815. }
  1816. } else {
  1817. $('.J_list_resumetag').not(':checked').prop('disabled', 0);
  1818. }
  1819. } else {
  1820. var code = $(this).data('code');
  1821. var title = $(this).data('title');
  1822. $('#J_showmodal_resumetag .J_resultcode_resumetag').val(code);
  1823. $('#J_showmodal_resumetag .J_resuletitle_resumetag').text(title);
  1824. $('#J_showmodal_resumetag .J_resuletitle_resumetag').attr('title', title);
  1825. $('.modal_backdrop').remove();
  1826. $('.modal').remove();
  1827. }
  1828. });
  1829. $('#J_btnyes_resumetag').on('click', function(event) {
  1830. var checkedArray = $('.J_list_resumetag:checked');
  1831. var codeArray = new Array();
  1832. var titleArray = new Array();
  1833. $.each(checkedArray, function(index, val) {
  1834. codeArray[index] = $(this).data('code');
  1835. titleArray[index] = $(this).data('title');
  1836. });
  1837. $('#J_showmodal_resumetag .J_resultcode_resumetag').val(codeArray.join(','));
  1838. ;$('#J_showmodal_resumetag .J_resuletitle_resumetag').text(titleArray.length ? titleArray.join('+') : '请选择');
  1839. $('#J_showmodal_resumetag .J_resuletitle_resumetag').attr('title', titleArray.length ? titleArray.join('+') : '请选择');
  1840. removeModal();
  1841. });
  1842. });
  1843. function prepareModal(titleValue, multipleValue, maxNumValue) {
  1844. var ie = !-[1, ];
  1845. var ie6 = !-[1, ] && !window.XMLHttpRequest;
  1846. $(backdropLayerTpl).appendTo($(document.body));
  1847. if (ie6) {
  1848. $('.modal_backdrop').css("height", $(document).height());
  1849. }
  1850. $(htmlLayerTpl).appendTo($(document.body));
  1851. $('.J_modal_title').text(titleValue);
  1852. if (multipleValue) {
  1853. $('.J_modal_max').text('(最多选择' + maxNumValue + '个)');
  1854. }
  1855. if (!multipleValue) {
  1856. $('.modal_footer').hide();
  1857. }
  1858. $(".J_hoverbut").hover(function() {
  1859. $(this).addClass("hover");
  1860. }, function() {
  1861. $(this).removeClass("hover");
  1862. });
  1863. // 可拖动
  1864. var newObj = $('.modal_dialog');
  1865. var newTit = newObj.find(".modal_header");
  1866. newTit.mousedown(function(e) {
  1867. var offset = newObj.offset();
  1868. var x = e.pageX - offset.left;
  1869. var y = e.pageY - offset.top;
  1870. $(document).bind('mousemove', function(ev) {
  1871. newObj.bind('selectstart', function() {
  1872. return false;
  1873. });
  1874. var newx = ev.pageX - x;
  1875. var newy = ev.pageY - y;
  1876. newObj.css({
  1877. 'left': newx + "px",
  1878. 'top': newy + "px"
  1879. });
  1880. });
  1881. });
  1882. $(document).mouseup(function() {
  1883. $(this).unbind("mousemove");
  1884. })
  1885. if (ie) {
  1886. if (window.PIE) {
  1887. $('.pie_about').each(function() {
  1888. PIE.attach(this);
  1889. });
  1890. }
  1891. }
  1892. }
  1893. $(document).on('click','.J_dismiss_modal', function() {
  1894. removeModal();
  1895. });
  1896. $(document).on('keydown', function(event) {
  1897. if (event.keyCode == 27) {
  1898. removeModal();
  1899. }
  1900. });
  1901. function removeModal() {
  1902. setTimeout(function() {
  1903. $('.modal_backdrop').remove();
  1904. $('.modal').remove();
  1905. }, 50)
  1906. }
  1907. }(window.jQuery);