这是我的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>
当我点击其中一个按钮时,它应该调用隐私功能并提醒我按钮已被点击但是没有。谁能帮助我并告诉我我的代码有什么问题?非常感谢谢谢!
答案 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
请注意语法,并随意使用浏览器控制台。