Jquery代码需要两次单击

时间:2014-07-25 21:15:13

标签: php jquery html

我在使用JQuery时遇到了一些问题。

代码;

$(document).ready(function(){
    $("#area_results").click(function(){
        $("#areaclickpass2 a").click(function(){
            var value = $(this).html();
            var input = $('#inf_custom_TESTclubarea');
            input.val(value);
            $("#area_results").hide(); // hide results after click
        });
    });
});

当前网站需要2次点击才能将值输入到字段中。

我理解为什么会这样做(我能想到达到结果的最佳解决方案),但我很好奇是否可以通过单击来实现相同的结果。

感谢您的时间。

2 个答案:

答案 0 :(得分:0)

创建一个变量,每次单击都会计算,并在该变量等于2时执行代码。

$(document).ready(function(){
    var click_count = 0;
    $("#area_results").click(function(){
         click_count++;
         if(click_count==2){
              var value = $(this).html();
              var input = $('#inf_custom_TESTclubarea');
              input.val(value);
              $("#area_results").hide(); // hide results after click
          }
     });
});

答案 1 :(得分:0)

您正在另一个事件处理程序中绑定事件处理程序。除非您先点击#areaclickpass2,否则#area_results将无法处理。

只需将$('#areaclickpass2')事件绑定移出#area_results范围:

$("#area_results").click(function(){
     //may not even be necessary to have this
});

$("#areaclickpass2 a").click(function(){
   var value = $(this).html();
   var input = $('#inf_custom_TESTclubarea');
   input.val(value);
   $("#area_results").hide(); // hide results after click
});