รบกวนช่วยดู 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 แถวสอง (ข้ามแถวแรก) ลูปจะทำงานผิด เพราะอ้างไม่ถูกต้อง จะต้องแก้ยังไง รบกวนดูให้ทีครับ ขอบคุณครับ คำแนะนำ และการใช้งาน
สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก
- ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา
โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ