通过按钮点击通过JavaScript / jQuery调用函数

时间:2013-12-18 10:40:56

标签: javascript jquery html

这是我的JavaScript:

function privacy(current)
{
    var $this = $(current), 
    $scope = $this.closest('.uk-button-group'), 
    value = $this.val();
    $.ajax({
        type: 'post',
        url: '/privacy.php',
        data: {key: value },
        success: function () {
        }
    });
}
$(function() {
    $("#privacy1, #privacy2, #privacy3").click(function() {
        privacy($this);
        alert('A button has been clicked!');
    });
});

这是我的HTML:

<div class="uk-button-group">
    <button class="uk-button" id="privacy1" value="1">Public</button>
    <button class="uk-button" id="privacy2" value="2">Protected</button>
    <button class="uk-button" id="privacy3" value="3">Private</button>
</div>    

当我点击其中一个按钮时,它应该调用隐私功能并提醒我按钮已被点击但是没有。谁能帮助我并告诉我我的代码有什么问题?非常感谢谢谢!

4 个答案:

答案 0 :(得分:4)

您没有任何标识符$this,您可能需要使用$this更改$(this)或简单this来传递事件源对象

privacy(this);

OR

privacy($(this));

答案 1 :(得分:0)

替换它: -

privacy(this);

答案 2 :(得分:0)

在此尝试:http://jsfiddle.net/pqdgT/

$(function() {
    $("#privacy1, #privacy2, #privacy3").click(function() {
        privacy($(this));
        alert('A button has been clicked!');
    });
});

答案 3 :(得分:0)

这是您的working code

这是精炼的代码

function privacy(current)
{
    var btn = $(current), 
    scope = $(btn).closest('.uk-button-group'), 
    value = $(btn).val();
    $.ajax({
        type: 'post',
        url: '/privacy.php',
        data: {key: value },
        success: function () {
        }
    });
}
$(function() {
    $("#privacy1, #privacy2, #privacy3").click(function() {
        privacy(this);
        alert('A button has been clicked!');
    });
});

请在命名变量时避免使用保留关键字 - Here is the list of reserved words

请注意语法,并随意使用浏览器控制台。