使用 jQuery 在页面加载时单击输入

Click input on page load with jQuery

本文关键字:单击 输入 加载 jQuery 使用      更新时间:2023-09-26

我有三个单选按钮,默认情况下,我希望在页面加载时单击值为 3 的"BOTH"位置,以便它将运行我的 jQuery post 函数。单选按钮被填充,看起来像是被点击,但点击并没有发生以发布我的函数。但是,一旦我更改了单选按钮,代码就可以正常工作。

这是我的代码:

$("input:radio[name='location'][value='3']").click();
$('input[name="location"]').change(function() {
    var location = $('input[name="location"]:checked').val(); var category = getUrlVars()["category"];
    $.post(
        'db/functions/package_conf.php',
        {category:category, location:location},
        function(data) {
            $('#package_info').html(data);
    });
});

在触发事件之前,是否会先尝试注册事件句柄? $("input:radio[name='location'][value='3']").click(); .change'事件之后。您也可以考虑使用checked,例如 $("input:radio[name='location'][value='3']").prop("checked", true)。

但是对于我个人的喜好,任何默认状态都应该事先完成,而不是在脚本中完成,例如启动您的无线电 DOM 元素以具有checked属性<input type="radio" value="3" checked />,然后 onLoad 脚本直接调用post(无论如何 POST 不是为此目的而设计的,想象一下 POST 可以保存一些东西, 如果你只是想获取/查询一些数据,GET会更合理)

在重新注册更改的事件处理程序之前触发了单击。

$('input[name="location"]').change(function() {
    var location = $('input[name="location"]:checked').val(); var category = getUrlVars()["category"];
    $.post(
        'db/functions/package_conf.php',
        {category:category, location:location},
        function(data) {
            $('#package_info').html(data);
    });
});
$("input:radio[name='location'][value='3']").click();

$(window).on('load', (e) => {  $("#test").focus()  })
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input id="test" value="23" type="number" style="font-size:30px;width:150px;">