0

我有一些单选按钮的列表,我在单击时获取选中输入的值,将其存储在变量中,稍后我想在单击另一个元素(例如 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>




​</p>

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


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


$(this).html(currTool)

})

​<a href="http://jsfiddle.net/menislici/cbfhu/3/" rel="nofollow">JSFiddle

4

2 回答 2

2

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

$('.space').click(function(){
    var currTool = $("input:radio[name=drawTool]:checked").val();
    $(this).html(currTool);
});
于 2012-07-14T12:27:23.947 回答
1

如果您想以不同的方法访问,请将值保存在方法外部声明的变量中。使其具有比方法更广的范围。它也可以在方法之外访问。

$(function(){

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

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

});
于 2012-07-14T12:23:07.560 回答