You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在jQuery中获取Yii2 radioList被点击选项的值?

问题原因

你当前将onClick事件配置在了单选组的外层容器属性中,并非绑定到每个单选按钮的<input>元素上。事件触发时this指向的是外层容器元素,该元素没有值属性,所以val()返回空。

解决方案1 调整行内事件绑定配置

修改PHP端表单代码,将点击事件放到单选按钮的itemOptions配置项中,确保事件绑定到每个单选输入元素上:

<?= $form->field($model, 'system_user')->inline(true)->radioList(
    ["Yes"=>"Yes","No"=>"No"],
    [
        'id' => 'system_user',
        'itemOptions' => [
            'onclick' => 'getValue(this.value)'
        ]
    ]
) ?>

原有JavaScript代码不用修改即可正常弹出对应值。

解决方案2 用jQuery事件绑定(更易维护,无侵入)

不用修改原有PHP代码,移除原来加的onClick属性,直接用事件监听实现:

$(function() {
    // 监听单选组的选中变化事件,适配鼠标点击和键盘选择场景
    $('#system_user input[type="radio"]').on('change', function() {
        alert($(this).val());
    });
});

这种方式不需要在行内写JS逻辑,后续修改逻辑不用动后端PHP代码。

内容的提问来源于stack exchange,提问作者Roman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 00:24:03