单击页面加载时的输入 jQuery

Click input on page load with jQuery

我有三个单选按钮,默认情况下,我希望在页面加载时单击值为 3 的 "BOTH" 位置,以便它运行我的 jQuery post函数。单选按钮已填充,看起来像是被点击,但 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/query一些数据,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;">