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

jQuery触发默认选中input的click事件实现指定div默认显示问题

错误原因

  • .is(":checked")是用于判断单个jQuery对象是否符合选择器条件的方法,返回值为布尔类型(true/false),不是jQuery对象,无法链式调用trigger方法,所以原有代码会抛出JS异常,无法执行。
  • 你需要的是筛选出所有处于选中状态的.hS input元素,正确写法是把:checked作为选择器的一部分使用。

修复方案

只需要修改最后一行触发事件的代码即可,修改后完整JS代码如下:

$(".hS .showDiv").hide();

$(document).on("change click",".hS input",function(){
    var div = $(this).closest(".hS").find(".showDiv");
    if($(this).val()==1){
        div.show();
    }else{
        div.hide();
    }  
});

// 筛选所有已选中的input元素再触发点击事件
$(".hS input:checked").trigger("click");

修改后运行时,前两组单选框默认选中的值为1,会触发显示Hello 1、Hello 2,后两组选中的值为2、3,会触发隐藏对应的Hello 3、Hello 4,完全符合你的需求。

可选优化

你也可以选择不触发点击事件,直接在初始化阶段完成显示状态设置,避免触发不必要的事件回调:

// 先隐藏所有div
$(".hS .showDiv").hide();

// 初始化时遍历每个选项组单独处理显示逻辑
$(".hS").each(function(){
    const checkedVal = $(this).find("input:checked").val();
    if(checkedVal == 1){
        $(this).find(".showDiv").show();
    }
});

// 绑定交互事件
$(document).on("change click",".hS input",function(){
    var div = $(this).closest(".hS").find(".showDiv");
    if($(this).val()==1){div.show();}else{div.hide();}  
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 12:36:04