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

时间:2015-01-04 02:31:46

标签: javascript jquery

我有三个单选按钮,默认情况下,我希望在页面加载时点击值为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);
    });
});

3 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

在注册更改事件处理程序之前触发了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();

答案 2 :(得分:0)

$(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;">