[英]How to check if a radio button is clicked?
我的代码如下所示:
form action="familytree.php" method="post">
<?php
foreach ($spouses as $spouse) {
if (!empty($spouse['mname'])) {
$name = $spouse['fname'].' '.$spouse['lname'].' ('.$spouse['mname'].')';
}
else {
$name = $spouse['fname'].' '.$spouse['lname'];
}
if ($spouse['ended'] == '1') {
$married = '';
$divorced = 'checked';
}
else {
$married = 'checked';
$divorced = '';
}
?>
<div class="form_section dates">
<h3><?php echo $name; ?></h3>
<p>
<input type="radio" id="married_option" name="married_divorced_options" <?php echo $married; ?> value="1"/>
<label for="edate">Married</label>
<input type="radio" id="divorced_option" name="married_divorced_options" <?php echo $divorced; ?> value="1"/>
<label for="sdate">Divorced</label>
</p>
<div class="half" style="display: inline">
<input type="text" name="sdate_<?php echo $spouse['individual_id']?>" id="sdate_<?php echo $spouse['individual_id']?>" value="<?php echo $spouse['start_date']; ?>" placeholder="Rašykite sutuoktuvių datą čia"/>
<?php echo $this->formError->error("sdate_".$spouse['individual_id'].""); ?>
</div>
<div id="divorced" class="half" style="display:none">
<input type="text" name="edate_<?php echo $spouse['individual_id']?>" id="edate_<?php echo $spouse['individual_id']?>" value="<?php echo $spouse['end_date']; ?>" placeholder="Rašykite skyrybų datą čia"/>
<?php echo $this->formError->error("edate_".$spouse['individual_id'].""); ?>
</div>
</div>
<?php
}
?>
<p class="submit">
<input class="first-btn" type="submit" id="edit-relationship" name="edit-relationship" value="Edit"/>
</p>
</form>
jQuery("#divorced_option").click(function() {
document.getElementById("divorced").style.display = "inline-block";
});
jQuery("#married_option").click(function() {
document.getElementById("divorced").style.display = "none";
});
我想知道的是当你不知道它的全名时,如何检查一个单选按钮是否被点击,只知道它的一半。 例如,# #divorced_option
不是全名,它应该是这样的#divorced_option_161, #divorced_option_161...
所以,代码应该检查名称中带有divorced_option
选项的单选按钮是否被单击。 有没有办法做到这一点?
编辑它适用于jQuery("[id^='married_option']").click(function(){})
。 但是我忘记在我原来的问题中提到离婚的元素也不是全名,它应该是离婚_161,离婚_162,这取决于单击的单选按钮的名称。 如何隐藏与单选按钮匹配的元素?
使用以选择器开头的属性(例如[name^="value"]
):
jQuery("[id^='divorced_option']").click(function() {
document.getElementById("divorced").style.display = "inline-block";
});
jQuery("[id^='married_option']").click(function() {
document.getElementById("divorced").style.display = "none";
});
看看jQuery 选择器。
' Attribute Contains ' 选择器在这里很有用,这意味着您的代码将是:
jQuery("[id*='divorced_option']").click(function() {
document.getElementById("divorced").style.display = "inline-block";
});
jQuery("[id*='married_option']").click(function() {
document.getElementById("divorced").style.display = "none";
});
您可以根据#divorced_option_[number]
模式选择元素,同时检查它们是否像这样选择:
$("input[id*=divorced_option]:checked");
如果您想检查divorced_option
选项子字符串是否位于 radio 元素的name=""
属性中,则将选择器中的id
更改为name
,如下所示:
$("input[name*=divorced_option]:checked");
在此之后,只需检查 jQuery 是否返回了实际元素。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.