在单击jquery事件中找不到变量

时间:2012-07-14 12:20:10

标签: javascript jquery events variables click

我有一些单选按钮的列表,我在点击时获取已检查输入的值,将其存储在变量中,稍后我想在另一个元素(例如div)被点击时访问该变量。除了在第二次单击事件中未被识别的变量外,一切正常。也许一个可能的变量范围错误?

   <ul><li><a href="#">Line</a><input class="checkTool" type="radio" name="drawTool"     value="line"></input></li></ul>
            <ul><li><a href="#">Rect</a><input class="checkTool" type="radio" name="drawTool" value="rectangle"></input></li></ul>
            <ul><li><a href="#">Circ</a><input class="checkTool" type="radio" name="drawTool" value="circle"></input></li></ul>
    



 $("input:radio[name=drawTool]").click(function() {
                    var currTool = $(this).val();
 });


$('.space').click(function(){


$(this).html(currTool)

})

JSFiddle

2 个答案:

答案 0 :(得分:2)

更好:您可以在实际需要时通过查找已选中单选按钮来检索当前选定的工具。

$('.space').click(function(){
    var currTool = $("input:radio[name=drawTool]:checked").val();
    $(this).html(currTool);
});

答案 1 :(得分:1)

如果要以其他方法访问,请将值保存在方法外部声明的变量中。因此它的范围比方法更广。它也可以在方法之外访问。

$(function(){

   var currTool="";
   $("input:radio[name=drawTool]").click(function() {
      currTool= $(this).val();
   });

   $('.space').click(function(){
      $(this).html(currTool)
   })

});