javascript - 如何使用 javascript 在每张卡片中选择 1 个复选框
问题描述
Hye,我需要来自 stackoverflow 社区的帮助,我有 2 张卡,每张卡都有 1 个以上的复选框。那么我如何管理每张卡只能使用 javascript 选择 1 个复选框。抱歉,我是 javascipt 的新手。这是我的html代码。
<div class="d-flex justify-content-center" id = "card1">
<div class="card" style="width: 50rem">
<form method="POST" action="surveyuserprocess2.php">
<div class="card-header">
UNSAFE ACT / TINDAKAN TIDAK SELAMAT
</div>
<div class="card-body" id="card7">
<div class="custom-control custom-checkbox custom-control-inline" id="c1">
<input type="checkbox"class="custom-control-input" id="customchk1" name="Act" value="UA01">
<label class="custom-control-label" for="customchk1"><b>PEE Violation</b><br>Tidak Memakai PPE Yang Lengkap</br></label>
</div>
<div class="custom-control custom-checkbox custom-control-inline" id="c2">
<input type="checkbox" class="custom-control-input" id="customchk2" name="Act" value="UA02">
<label class="custom-control-label" for="customchk2"><b>Ignoring Safety Signboard</b><br>Mengingkari Tanda Keselamatan</br></label>
</div>
<div class="custom-control custom-checkbox custom-control-inline" id="c3">
<input type="checkbox" class="custom-control-input" id="customchk3" name="Act" value="UA03">
<label class="custom-control-label" for="customchk3"><b>Rule Violation</b><br>Melanggar Peraturan</br></label>
</div>
<div class="custom-control custom-checkbox custom-control-inline" id="c4">
<input type="checkbox" class="custom-control-input" id="customchk4" name="Act" value="UA04">
<label class="custom-control-label" for="customchk4"><b>Wrong Tool / Equipment / Machinery</b><br>Peralatan / Alatan / Mesin Salah</br></label>
</div>
<div class="custom-control custom-checkbox custom-control-inline" id="c5">
<input type="checkbox" class="custom-control-input" id="customchk5"name="Act" value="UA05">
<label class=custom-control-label for="customchk5"><b>Improper Material Handling</b><br>Kendalian Bahan Tidak Sempurna</br></label>
</div>
<div class="custom-control custom-checkbox custom-control-inline" id="c6">
<input type="checkbox" class="custom-control-input" id="customchk6" name="Act" value="UA06">
<label class="custom-control-label" for="customchk6"><b>Use Faulty / Equipment / Vechile</b><br>Menggunakan Peralatan / Alatan / Kenderaan Rosak</br></label>
</div>
<div class="custom-control custom-checkbox " id="c7">
<input type="checkbox" class="custom-control-input" id="customchk7" name="Act" value="UA07">
<label class="custom-control-label" for="customchk7"><b>Positive Findings/Other. Please Specify</b><br>Penemuan Positif/Lain-Lain. Sila Nyatakan:</br></label>
<textarea class="form-control" name="ActOther" rows="5" id="Others1" placeholder="Fill in the blank"></textarea>
</div>
</div>
</div>
</div>
<div class="d-flex justify-content-center" id = "card2">
<div class="card" style = "width: 50rem">
<div class="card-header" id="card8">
UNSAFE CONDITION / KEADAAN TIDAK SELAMAT
</div>
<div class="card-body" ;>
<div class="custom-control custom-checkbox custom-control-inline" id="c8">
<input type="checkbox"class="custom-control-input" id="customchk8" name="UCondition" value="UC01">
<label class="custom-control-label" for="customchk8"><b>Poor Housekeeping</b><br>Tidak Kemas</br></label>
</div>
<div class="custom-control custom-checkbox custom-control-inline" id="c9">
<input type="checkbox" class="custom-control-input" id="customchk9" name="UCondition" value="UC02">
<label class="custom-control-label" for="customchk9"><b>Noise Hazard</b><br>Hazard Bunyi Bising</br></label>
</div>
<div class="custom-control custom-checkbox custom-control-inline" id="c10">
<input type="checkbox" class="custom-control-input" id="customchk10" name="UCondition" value="UC03">
<label class="custom-control-label" for="customchk10"><b>Unstable Condition</b><br>Keadaan Tidak Seimbang</br></label>
</div>
<div class="custom-control custom-checkbox custom-control-inline" id="c11">
<input type="checkbox" class="custom-control-input" id="customchk11" name="UCondition" value="UC04">
<label class="custom-control-label" for="customchk11"><b>Improper / Faulty Equipment</b><br>Peralatan Tidak Sesuai / Rosak</br></label>
</div>
<div class="custom-control custom-checkbox custom-control-inline" id="c12">
<input type="checkbox" class="custom-control-input" id="customchk12"name="UCondition" value="UC05">
<label class=custom-control-label for="customchk12"><b>Biological Hazard</b><br>Hazard Biologi</br></label>
</div>
<div class="custom-control custom-checkbox custom-control-inline" id="c13">
<input type="checkbox" class="custom-control-input" id="customchk13" name="UCondition" value="UC06">
<label class="custom-control-label" for="customchk13"><b>Fire / Explosion Hazard</b><br>Hazard Kebakaran / Letupan</br></label>
</div>
<div class="custom-control custom-checkbox custom-control-inline" id="c14">
<input type="checkbox" class="custom-control-input" id="customchk14" name="UCondition" value="UC07">
<label class="custom-control-label" for="customchk14"><b>Falling Hazard</b><br>Hazard Jatuh</br></label>
</div>
<div class="custom-control custom-checkbox custom-control-inline" id="c15">
<input type="checkbox" class="custom-control-input" id="customchk15" name="UCondition" value="UC08">
<label class="custom-control-label" for="customchk15"><b>Electrical Hazard</b><br>Hazard Elektrik</br></label>
</div>
<div class="custom-control custom-checkbox custom-control-inline" id="c16">
<input type="checkbox" class="custom-control-input" id="customchk16" name="UCondition" value="UC09">
<label class="custom-control-label" for="customchk16"><b>Physical Damage</b><br>Kerosakan Fizikal</br></label>
</div>
<div class="custom-control custom-checkbox " id="c17">
<input type="checkbox" class="custom-control-input" id="customchk17" name="UCondition" value="UC10">
<label class="custom-control-label" for="customchk17"><b>Tripping / Slipping Hazard</b><br>Hazard Tersadung / Gelincir</br></label>
</div>
<div class="custom-control custom-checkbox custom-control-inline" id="c18">
<input type="checkbox" class="custom-control-input" id="customchk18" name="UCondition" value="UC11">
<label class="custom-control-label" for="customchk18"><b>Biological Hazard Safety Equipment</b><br>Gagal Menyediakan Alat Keselamatan</br></label>
</div>
<div class="custom-control custom-checkbox " id="c19">
<input type="checkbox" class="custom-control-input" id="customchk19" name="UCondition" value="UC12">
<label class="custom-control-label" for="customchk19"><b>Inadequate / Incorrect Work Procedure</b><br>Prosedur Kerja Salah / Tidak Mencukupi</br></label>
</div>
<div class="custom-control custom-checkbox " id="c20">
<input type="checkbox" class="custom-control-input" id="customchk20" name="UCondition" value="UC13">
<label class="custom-control-label" for="customchk20"><b>Positive Findings/Other. Please Specify</b><br>Penemuan Positif/Lain-Lain. Sila Nyatakan:</br></label>
<textarea class="form-control" Name="ConditionOther" rows="5" id="Others2" placeholder="Fill in the blank"></textarea>
</div>
</div>
</div>
</div>
任何人都可以展示如何做到这一点?我看过很多教程,但仍然无法解决问题
非常感谢你的好意。
解决方案
您可以按照以下方法:
$(function() {
$('#card1 input:checkbox').click(function(){
let group = "input:checkbox[name='" + $(this).attr("name") + "']";;
$(group).prop('checked', false);
$(this).prop('checked', true);
});
$('#card2 input:checkbox').click(function(){
let group = "input:checkbox[name='" + $(this).attr("name") + "']";;
$(group).prop('checked', false);
$(this).prop('checked', true);
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="d-flex justify-content-center" id = "card1">
<div class="card" style="width: 50rem">
<form method="POST" action="surveyuserprocess2.php">
<div class="card-header">
UNSAFE ACT / TINDAKAN TIDAK SELAMAT
</div>
<div class="card-body" id="card7">
<div class="custom-control custom-checkbox custom-control-inline" id="c1">
<input type="checkbox"class="custom-control-input" id="customchk1" name="Act" value="UA01">
<label class="custom-control-label" for="customchk1"><b>PEE Violation</b><br>Tidak Memakai PPE Yang Lengkap</br></label>
</div>
<div class="custom-control custom-checkbox custom-control-inline" id="c2">
<input type="checkbox" class="custom-control-input" id="customchk2" name="Act" value="UA02">
<label class="custom-control-label" for="customchk2"><b>Ignoring Safety Signboard</b><br>Mengingkari Tanda Keselamatan</br></label>
</div>
<div class="custom-control custom-checkbox custom-control-inline" id="c3">
<input type="checkbox" class="custom-control-input" id="customchk3" name="Act" value="UA03">
<label class="custom-control-label" for="customchk3"><b>Rule Violation</b><br>Melanggar Peraturan</br></label>
</div>
<div class="custom-control custom-checkbox custom-control-inline" id="c4">
<input type="checkbox" class="custom-control-input" id="customchk4" name="Act" value="UA04">
<label class="custom-control-label" for="customchk4"><b>Wrong Tool / Equipment / Machinery</b><br>Peralatan / Alatan / Mesin Salah</br></label>
</div>
<div class="custom-control custom-checkbox custom-control-inline" id="c5">
<input type="checkbox" class="custom-control-input" id="customchk5"name="Act" value="UA05">
<label class=custom-control-label for="customchk5"><b>Improper Material Handling</b><br>Kendalian Bahan Tidak Sempurna</br></label>
</div>
<div class="custom-control custom-checkbox custom-control-inline" id="c6">
<input type="checkbox" class="custom-control-input" id="customchk6" name="Act" value="UA06">
<label class="custom-control-label" for="customchk6"><b>Use Faulty / Equipment / Vechile</b><br>Menggunakan Peralatan / Alatan / Kenderaan Rosak</br></label>
</div>
<div class="custom-control custom-checkbox " id="c7">
<input type="checkbox" class="custom-control-input" id="customchk7" name="Act" value="UA07">
<label class="custom-control-label" for="customchk7"><b>Positive Findings/Other. Please Specify</b><br>Penemuan Positif/Lain-Lain. Sila Nyatakan:</br></label>
<textarea class="form-control" name="ActOther" rows="5" id="Others1" placeholder="Fill in the blank"></textarea>
</div>
</div>
</div>
</div>
<div class="d-flex justify-content-center" id = "card2">
<div class="card" style = "width: 50rem">
<div class="card-header" id="card8">
UNSAFE CONDITION / KEADAAN TIDAK SELAMAT
</div>
<div class="card-body" ;>
<div class="custom-control custom-checkbox custom-control-inline" id="c8">
<input type="checkbox"class="custom-control-input" id="customchk8" name="UCondition" value="UC01">
<label class="custom-control-label" for="customchk8"><b>Poor Housekeeping</b><br>Tidak Kemas</br></label>
</div>
<div class="custom-control custom-checkbox custom-control-inline" id="c9">
<input type="checkbox" class="custom-control-input" id="customchk9" name="UCondition" value="UC02">
<label class="custom-control-label" for="customchk9"><b>Noise Hazard</b><br>Hazard Bunyi Bising</br></label>
</div>
<div class="custom-control custom-checkbox custom-control-inline" id="c10">
<input type="checkbox" class="custom-control-input" id="customchk10" name="UCondition" value="UC03">
<label class="custom-control-label" for="customchk10"><b>Unstable Condition</b><br>Keadaan Tidak Seimbang</br></label>
</div>
<div class="custom-control custom-checkbox custom-control-inline" id="c11">
<input type="checkbox" class="custom-control-input" id="customchk11" name="UCondition" value="UC04">
<label class="custom-control-label" for="customchk11"><b>Improper / Faulty Equipment</b><br>Peralatan Tidak Sesuai / Rosak</br></label>
</div>
<div class="custom-control custom-checkbox custom-control-inline" id="c12">
<input type="checkbox" class="custom-control-input" id="customchk12"name="UCondition" value="UC05">
<label class=custom-control-label for="customchk12"><b>Biological Hazard</b><br>Hazard Biologi</br></label>
</div>
<div class="custom-control custom-checkbox custom-control-inline" id="c13">
<input type="checkbox" class="custom-control-input" id="customchk13" name="UCondition" value="UC06">
<label class="custom-control-label" for="customchk13"><b>Fire / Explosion Hazard</b><br>Hazard Kebakaran / Letupan</br></label>
</div>
<div class="custom-control custom-checkbox custom-control-inline" id="c14">
<input type="checkbox" class="custom-control-input" id="customchk14" name="UCondition" value="UC07">
<label class="custom-control-label" for="customchk14"><b>Falling Hazard</b><br>Hazard Jatuh</br></label>
</div>
<div class="custom-control custom-checkbox custom-control-inline" id="c15">
<input type="checkbox" class="custom-control-input" id="customchk15" name="UCondition" value="UC08">
<label class="custom-control-label" for="customchk15"><b>Electrical Hazard</b><br>Hazard Elektrik</br></label>
</div>
<div class="custom-control custom-checkbox custom-control-inline" id="c16">
<input type="checkbox" class="custom-control-input" id="customchk16" name="UCondition" value="UC09">
<label class="custom-control-label" for="customchk16"><b>Physical Damage</b><br>Kerosakan Fizikal</br></label>
</div>
<div class="custom-control custom-checkbox " id="c17">
<input type="checkbox" class="custom-control-input" id="customchk17" name="UCondition" value="UC10">
<label class="custom-control-label" for="customchk17"><b>Tripping / Slipping Hazard</b><br>Hazard Tersadung / Gelincir</br></label>
</div>
<div class="custom-control custom-checkbox custom-control-inline" id="c18">
<input type="checkbox" class="custom-control-input" id="customchk18" name="UCondition" value="UC11">
<label class="custom-control-label" for="customchk18"><b>Biological Hazard Safety Equipment</b><br>Gagal Menyediakan Alat Keselamatan</br></label>
</div>
<div class="custom-control custom-checkbox " id="c19">
<input type="checkbox" class="custom-control-input" id="customchk19" name="UCondition" value="UC12">
<label class="custom-control-label" for="customchk19"><b>Inadequate / Incorrect Work Procedure</b><br>Prosedur Kerja Salah / Tidak Mencukupi</br></label>
</div>
<div class="custom-control custom-checkbox " id="c20">
<input type="checkbox" class="custom-control-input" id="customchk20" name="UCondition" value="UC13">
<label class="custom-control-label" for="customchk20"><b>Positive Findings/Other. Please Specify</b><br>Penemuan Positif/Lain-Lain. Sila Nyatakan:</br></label>
<textarea class="form-control" Name="ConditionOther" rows="5" id="Others2" placeholder="Fill in the blank"></textarea>
</div>
</div>
</div>
</div>
如果您有任何进一步的疑问,请随时告诉我。
推荐阅读
- go - Go 中整个结构的导出结构和 getter 的惯用命名约定
- android - 如何使用图像 URL 作为通知的图像而不是可绘制的图像?
- flutter - 我的颤振应用程序中的谷歌登录错误
- domain-driven-design - 多个聚合处理一张表?
- google-cloud-firestore - 仅限内容所有者和公共的 FireStore 安全规则
- python - tflite 模型推断未返回所需的输出
- react-native - Flatlist 不会显示任何内容
- r - 平滑曲线的导数
- flutter - ShowAlertDialog Flutter 渲染错误
- prometheus - 如何测量 Prometheus 中计数器事件的每日发生率?