【问题标题】:Trigger click on radio button as part of document ready触发单击单选按钮作为文档准备就绪的一部分
【发布时间】:2016-04-07 19:51:45
【问题描述】:

我有一个动态单选按钮列表作为我的应用程序的一部分,当用户做出选择时,我使用 jQuery 单击功能显示其他内容。除非单选按钮的动态列表只有一个选项,否则这一切都很好。只有一个选项,单选按钮本身默认被选中,但点击事件不会触发,除非用户点击单选按钮。

有没有办法在文档就绪时触发点击事件,这样,如果只有一个选项,用户就不必进行多余的点击?

这是我正在使用的 jQuery 代码,只要用户进行选择,它就可以正常工作。

谢谢!

    jQuery('input[name="location"]').click(function(){
        var data = {location : jQuery(this).val()};
        jQuery.ajax({
            url: "/custom.php",
            type:'POST',
            data: data,
            dataType: 'html',
            success: function(result){
                jQuery('#div-custom').html(result).show();   
            }
        }); 

【问题讨论】:

  • jQuery('input[name="location"]').click(function(){ var data = {location : jQuery(this).val()}; jQuery.ajax({ url: "/custom.php", type:'POST', data: data, dataType: 'html', success: function(result){ jQuery('#div-custom').html(result).show(); } }).trigger('click');

标签: javascript jquery click


【解决方案1】:

您可以通过检查length 属性来检查您的选择器匹配了多少单选按钮。如果是这样,您可以手动触发单击该按钮,如下所示:

jQuery(function($) {
    var $locations = $('input[name="location"]').click(function(){
        $.ajax({
            url: "/custom.php",
            type:'POST',
            data: { location : $(this).val() },
            dataType: 'html',
            success: function(result) {
                $('#div-custom').html(result).show();   
            }
        }); 
    });

    if ($locations.length == 1)
        $locations.click();
});

还要注意,document.ready 处理程序的第一个参数是对 jQuery 的引用,因此您可以将该变量别名为普通的 $,以避免在任何地方都必须使用冗长的 jQuery。

【讨论】:

  • 完美 - 谢谢!
  • 没问题,很高兴为您提供帮助
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-17
  • 2012-10-16
  • 2011-08-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多