รบกวนช่วยดู code ให้ด้วยครับ
ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา รบกวนช่วยดู code ให้ด้วยครับ
รบกวนช่วยดู code ให้ด้วยครับ
Copy
<form name="form1" method="post" action=""> <input type="checkbox" name="chk1" id="sex1" for='groupController1' value="1"> <input type="checkbox" name="chk1" id="sex2" for='groupController1' value="2"> <input type="text" name="www1" class="request" for='subGroup1' data-name="คำนำหน้าชื่อ"> <input type="text" name="xxx1" class="request" for='subGroup1' data-name="ชื่อ"> <input type="text" name="yyy1" class="request" for='subGroup1' data-name="นามสกุล"> <br> <input type="checkbox" name="chk2" id="sex1" for='groupController2' value="1"> <input type="checkbox" name="chk2" id="sex2" for='groupController2' value="2"> <input type="text" name="www2" class="request" for='subGroup2' data-name="คำนำหน้าชื่อ"> <input type="text" name="xxx2" class="request" for='subGroup2' data-name="ชื่อ"> <input type="text" name="yyy2" class="request" for='subGroup2' data-name="นามสกุล"> <br><br> <input type="text" id="male" name="male" readonly> <input type="text" id="female" name="female" readonly> <br><br> <input type="button" name="btnSubmit" id="btnSubmit" value="Submit"> </form>
$("input[class=request]").attr('disabled','disabled'); $(":checkbox[for='groupController1']").change(function(){ var checking = $(this).prop("checked"); $("input[for=subGroup1]").prop({"disabled":!checking}); }); $(":checkbox[for='groupController2']").change(function(){ var checking = $(this).prop("checked"); $("input[for=subGroup2]").prop({"disabled":!checking}); }); $(':checkbox[id^=sex]').on('change',function(){ var th = $(this), name = th.prop('name'); if (th.is(':checked')){ $(':checkbox[name="'+ name +'"]').not($(this)).prop('checked',false); } var numberOfmale = $('input:checkbox[id=sex1]:checked').length var numberOffemale = $('input:checkbox[id=sex2]:checked').length $("#male").val(numberOfmale); $("#female").val(numberOffemale); }); $('#btnSubmit').click(function(){ var i; var m = parseInt($('#male').val()); var y = parseInt($('#female').val()); var z = (m + y + 1); for (i = 1; i < z; i++) { var chk = 'chk' + i; var www = 'www' + i; var xxx = 'xxx' + i; var yyy = 'yyy' + i; if (($(':input[name="'+ chk +'"]').is(':checked')) && ($(':input[name="'+ www +'"]').val() == '')){ $(':input[name="'+ www +'"]').focus(); name = $(':input[name="'+ www +'"]').data('name'); alert('โปรดระบุ'+name+' ลำดับที่ '+i); return false; } if (($(':input[name="'+ chk +'"]').is(':checked')) && ($(':input[name="'+ xxx +'"]').val() == '')){ $(':input[name="'+ xxx +'"]').focus(); name = $(':input[name="'+ xxx +'"]').data('name'); alert('โปรดระบุ'+name+' ลำดับที่ '+i); return false; }//alert(www); if (($(':input[name="'+ chk +'"]').is(':checked')) && ($(':input[name="'+ yyy +'"]').val() == '')){ $(':input[name="'+ yyy +'"]').focus(); name = $(':input[name="'+ yyy +'"]').data('name'); alert('โปรดระบุ'+name+' ลำดับที่ '+i); return false; } } });มีปัญหาตรง loop for ครับ คือถ้าติ๊ก checkbox แถวแรก ลูปจะทำงานปกติครับ แต่ถ้าติ๊ก checkbox แถวสอง (ข้ามแถวแรก) ลูปจะทำงานผิด เพราะอ้างไม่ถูกต้อง จะต้องแก้ยังไง รบกวนดูให้ทีครับ ขอบคุณครับ
Hardalways
21-04-2015
12:34:10
คำแนะนำ และการใช้งาน
สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก
- ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา
โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ