如何在jQuery中使用它来获取输入按钮的值

时间:2014-02-07 17:28:32

标签: javascript jquery

提前感谢您的帮助

在脚本中的函数内部,我试图在单击按钮时获取按钮的值。 在这种情况下,我无法弄清楚“this”的用法。 页面中有一定数量的按钮,并附加了几个功能,所以每次单击一个按钮时,我都不想在函数中执行jQuery('。A1')。val()。 我希望函数能够检测单击了哪个按钮及其值

<script>
jQuery(document).ready(function(){
    $.fn.dosomething = function(){
        var currentval = $(this).val();
        console.log(currentval);
    };
});
</script>

<INPUT type="button" class="A1" value="blabla" onclick="jQuery().dosomething()"/>

控制台返回'undefined'

感谢您的帮助 DOM

4 个答案:

答案 0 :(得分:0)

尝试使用jquery点击功能而不是单击内联HTML调用。 http://api.jquery.com/click/

答案 1 :(得分:0)

您需要将当前对象this传递给类似

的函数
<INPUT type="button" 
   class="A1" value="blabla"
   onclick="jQuery(this).dosomething()"/>

DEMO

修改

为什么使用内联onclick?您可以将事件绑定到元素,如

$(".A1").on("click", function () {
    jQuery(this).dosomething();
})

DEMO 2

答案 2 :(得分:0)

使用$.fn.dosomething = function(),您已经定义了一个可以在jquery对象上调用的插件,但是您没有将任何内容传递给jquery以用作this

尝试:

onclick="jQuery(this).dosomething()"

答案 3 :(得分:0)

试试这个,

我们可以在特定元素的特定事件上绑定该函数。

jQuery(document).ready(function(){
    $.fn.dosomething = function(cthis){
        var currentval = $(cthis).val();
        alert(currentval);
        console.log(currentval);
    };

    $( "#myId" ).bind( "click", function() {
        jQuery().dosomething(this);
    })
});
</script>
<INPUT id="myId" type="button" class="A1" value="blabla"  />

Demo

我认为this内的$.fn.dosomething是指自己而不是点击按钮。