在单选按钮上执行 onChange 函数

On Radio Button execute onChange function

我得到了(有效的)以下代码

$('#selBookable').change(function () {...

 <div class="radio radio-search">
  <label><input id="radio-new-pop" type="radio" name="radio_newest_popular" value="new" >Neueste</label>

当#selBookable 获得另一个值时执行。

现在我想在单击其他地方的单选按钮时执行此功能。

我试过了:

$('#selBookable, #radio-new-pop').change(function () {...

但这不起作用。 现在我想给这个“.change(function NAMEHERE” 一个名称并执行该功能,但也不起作用。 感谢您的帮助。

编辑:我尝试使用 onchange 事件,但我又没有要调用的函数名称。

您可以独立于其用途来定义函数,并为其命名。然后你可以将它附加到你想要的任意多个目标,调用一个有效的目标(使用名称而不是定义),每个目标都有不同的目标。

(您第二次尝试失败的原因是 $ 的第二个参数不是将函数附加到的另一个目标,而是对在哪里可以找到第一个目标的限制。)

也许可以尝试将 jquery 侦听器放在 $(document).ready().

您可以在收音机上添加一个 click 处理程序,如下所示:

    <div class="radio radio-search">
        <label>
            <input id="radio-new-pop" type="radio" name="radio_newest_popular" value="new" onclick="handleClick(this)">
        Neueste</label>

在 JS 中:

    handleClick(myRadio) {
        // click function logic
    }

改编自 this 答案。

您有两个同名的单选按钮:

<div class="radio radio-search">
    <label>
        <input id="radio-new-pop" type="radio" name="radio_newest_popular" value="new" />
        Neueste
    </label>
    <label>
        <input id="radio-new-pop2" type="radio" name="radio_newest_popular" value="new" />
        Other
    </label>
</div>

添加一个 javascript 函数来处理此更改:

var onRadioButtonChange = void 0;
{
    onRadioButtonChange = function (e) {
        theFunctionYouWantToExecute(); // pass this or e.target if needed
        return false;
    }
}

将它附加到您的元素上:

Array.prototype.forEach.call(
    document.querySelectorAll('input[type="radio"]'), 
    function (element) { 
        element.addEventListener('change', onRadioButtonChange, false); 
    }
);