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