【问题标题】:Detect checked radio button and trigger click检测选中的单选按钮并触发点击
【发布时间】:2023-04-09 02:27:01
【问题描述】:

我有一组 4 个单选按钮,当单击页面上的显示/隐藏 div 时。

在我的表单验证不成功时,我将用户返回到表单并选中最后一次单击的单选按钮。

我遇到的问题是它没有显示/隐藏 div,因为在这种情况下单选按钮没有被点击。

我希望能够在页面加载时检测选中哪个单选按钮,然后触发点击事件。 (即模拟某人单击该单选按钮),以便它显示/隐藏我的 div。

我显示隐藏的代码如下所示

$('#showduo').click(function(){
$('div[id^=div]').hide();
$('#div1').show();

html:

<input type="radio" name="type" value="Single" id="hideall" <?php echo set_radio('type', 'Single', TRUE); ?> />
<input type="radio" name="type" value="Singleplus" id="showsingleplus" <?php echo set_radio('type', 'Singleplus'); ?> />
<input type="radio" name="type" value="Duo" id="showduo" <?php echo set_radio('type', 'Duo'); ?> />
<input type="radio" name="type" value="Family" id="showfamily" <?php echo set_radio('type', 'Family'); ?> />

<div id="div1" style="display:none;">

【问题讨论】:

  • 请同时包含您的 html。每个单选按钮是否都有自己的id 和单独的click
  • 为了获得选中的单选按钮,您可以使用以下代码:$('input[name=radioName]:checked', '#myForm').val()
  • 我认为这可能很有用stackoverflow.com/questions/596351/…
  • 一旦我检查了哪个,我该如何触发点击?

标签: javascript jquery triggers radio-button


【解决方案1】:

如果您在所选单选按钮上调用 .click() 时没有任何参数,它将执行该按钮的单击处理程序,就像用户单击它一样。

试试:

$('input:radio[name=xxx]:checked').click();

当然,您必须将“xxx”更改为您为单选按钮指定的名称。

注意:我不得不说我不会拥有它,所以每个单选按钮都有自己的处理程序。这意味着如果您想添加另一个单选按钮,则必须添加 JavaScript。

【讨论】:

  • 这正是我想要的。我有一个问题,我把这段代码放在了点击函数的代码之上。但是在将其移至下方后,它可以完美运行。我不确定你的笔记是什么意思。因为我不知道我该怎么做
  • @Scott Goodman - 如果您有兴趣,我创建了一个 jsfiddle 来演示如何设置它,这样您就只有一个处理程序,并且如果您添加就不必更改 JavaScript另一个单选按钮。如果您发现它有任何价值,请告诉我。
  • 感谢约翰。非常感谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-05-26
  • 1970-01-01
  • 1970-01-01
  • 2012-10-15
  • 1970-01-01
  • 1970-01-01
  • 2015-05-17
相关资源
最近更新 更多