我一直在尝试工作,我确信这是一个简单,直接的解决方案,可以跟踪状态变化的无线电按钮组.这是一个这样的组:
<div class="formRowDiv">
<label><span>TLan:</span></label>
<label>
<input type="radio" id="tlanYes" name="tlan" value="tlanYes"
<?php
if ( $inputValArr[ 'tl' ] == "1" ) {
echo ' checked';
}
?>
>
<span class="radioLabel">Yes</span>
</label>
<label>
<input type="radio" id="tlanNo" name="tlan" value="tlanNo"
<?php
if ( $inputValArr[ 'tl' ] == "0" ) {
echo ' checked';
}
?>
>
<span class="radioLabel">No</span>
</label>
<script>
$(document).ready(function() {
$("input:radio[name='tlan']:checked").change(function() {
if ($("input[name='tlan']:checked").val()=='tlanNo') {
alert( 'tlan: No' );
} else if ($("input[name='tlan']:checked").val()=='tlanYes') {
alert( 'tlan: Yes' );
} // close IF
}); // close anon FUNC .change
}); // close anon FUNC doc.ready
</script>
</div><!-- close formRowDiv -->
表单的输入值最初是通过从mySql query()中检索它们来确定的.
如果mySql查询最初设置的值为0,因此“No”(value =“tlanNo”),那么当用户单击以将字段更改为“是”时,警报将无法触发,当我查看页面的来源是仍然选中的“否”按钮.
当选择“否”按钮时,从先前选择的“是”改变,然后警报触发,页面源显示它(仍然是?)被检查的“否”按钮.
我想最终将按钮的更改状态保存到页面的$_SESSION数组中.那么为什么非初始设置按钮值的更改不会注册,因此触发警报以及在更改完成后反映页面源的更改,但是更改“返回”到初始状态似乎要注册?
BTW:我确实有当前的jQuery lib位于html.php的目录中,并在页面的标题中引用,如下所示:
<script type="text/javascript" src="jquery-3.2.0.min.js"></script>
最佳答案 :checked选择器适用于复选框,单选按钮和选择元素的选项.
$("input:radio[name='tlan']").change(function() { ...
代替
$("input:radio[name='tlan']:checked").change(function() { ...