웹 개발에서는 종종 목록 화면의 각 레코드 전에 확인란이 발생합니다. 레코드를 클릭하고 선택하여 삭제, 수정,보기 및 기타 작업을 선택하십시오.
수정 및보기는 레코드의 ID 값을 얻은 다음 쿼리를 위해 배경으로 전달하여 레코드 객체의 다양한 속성 값을 얻은 다음 화면에 표시하는 것입니다.
내가 말하는 핵심 요점은 여러 레코드를 선택한 다음 배치로 삭제하는 것입니다. 여러 레코드의 ID 값을 얻는 방법이 문제의 핵심입니다. 첫 번째는 JSP 페이지에서 모두 확인란을 선택하는 방법입니다.
코드는 다음과 같습니다.
함수 checkevent (name, allcheckid) {var allck = document.getElementById (allcheckid); if (allck.checked == true) checkall (이름); else checkallno (이름); } // 모든 함수 선택 (이름) {var names = document.getElementsByName (이름); var len = names.length; if (len> 0) {var i = 0; for (i = 0; i <len; i ++) if (! names [i] .disabled) {names [i] .checked = true; }}} // 함수를 선택하지 않음 CheckAllNo (이름) {var names = document.getElementsByName (이름); var len = names.length; if (len> 0) {var i = 0; for (i = 0; i <len; i ++) 이름 [i] .checked = false; }}이 메소드를 호출하는 JSP 코드 :
<input name = "checkall"id = "checkall"onclick = "checkevent ( 'chookesfaqid', 'checkall')"type = "checkbox"/> </td>
여기서 선택 Faqid는 확인란의 이름 속성 값이며 Checkall은 테이블 헤더 확인란의 이름 속성 값입니다.
프론트 데스크가 배치 JS 코드를 실행하면 선택한 레코드 ID 값을 쉼표로 분리하고 다음과 같이 배치 메소드 코드를 삭제해야합니다.
함수 batchdetelechfaq (idstr) {var ids = " '"; $ ( "input [name = 'selectionFaqid']"). 각 (function () {if (if (this.checked) {ids+= this.value+" ','"}}); ids+= " '"; ids = ids.replace (/, ''/g, ''); if (ids == " ''") {jqdialog.alert ( "<s : text name = 'faqmanage.pleaseSelectFaq'/>"); 반품; } $ .ajax ({type : "post", url : "admin/faqmanageacect! batchdeletefaq.action", data : {chelicefaqid : ids}, "text", success : function (html) {if (html == "success") {jqdialog.alert ( "<s : text (<s : 텍스트) name = 'faqmanage.operationsuccessful'/> ", function () {window.location.href = wind }); }배경은 프론트 데스크에서 다시 전송 된 ID 값 세트를 얻습니다.
최종 문자열 ids = this.getRequest (). getParameter ( "선택 사항");
선택된 ID 그룹을 얻는 원래 방법은 다음과 같습니다.
최종 문자열 ids = this.getRequest (). getParametErvalues ( "선택 사항");
이렇게하면 편집 작업없이 직접 문자열 배열을 얻을 수 있습니다. 나중에 현재 방법으로 변경 한 이유를 기억할 수 없습니다.
마지막으로, 배경 BO 레이어에서 삭제 된 코드를 실행하는 코드 :
/ ** * id * @param faqanswer * @return */ public void batchdeletefaq (최종 문자열 IDS)를 기반으로 한 배치 삭제 FAQ 문제 {final String hql = "faqanswer에서 삭제 된 O.id in ("+ids+")"; faqmanagerdao.execute (HQL); }요약하면 Ajax 제출 방법을 사용합니다. 배치 삭제 버튼을 클릭 한 후 먼저 사용자가 최소한 레코드를 선택했는지 여부를 결정합니다. 그렇지 않으면 프롬프트 메시지가 나타납니다. 선택한 후 삭제 버튼을 클릭하여 백그라운드 메소드를 실행하십시오. 작업이 실행되지 않으면 작동 실패 메시지 상자가 나타납니다.
위는 목록 화면에서 확인란을 클릭 한 후 여러 ID 값을 얻는 방법입니다. 모든 사람에게 도움이되기를 바랍니다. 더 많은 정보를 알고 싶다면 Wulin.com 웹 사이트에주의를 기울이십시오!