Javascript 在无元素ID的Ajax成功后切换数据值
我有多个按钮来切换不同项目的状态:Javascript 在无元素ID的Ajax成功后切换数据值,javascript,ajax,Javascript,Ajax,我有多个按钮来切换不同项目的状态: <div class="btn-group btn-toggle project_status" data-project-id="1" data-form="project_status" data-value="1"> <button class="btn btn-default active">ACTIVE</button> <button class="btn btn-primary">CLOS
<div class="btn-group btn-toggle project_status" data-project-id="1" data-form="project_status" data-value="1">
<button class="btn btn-default active">ACTIVE</button>
<button class="btn btn-primary">CLOSED</button>
</div>
<div class="btn-group btn-toggle project_status" data-project-id="2" data-form="project_status" data-value="1">
<button class="btn btn-default active">ACTIVE</button>
<button class="btn btn-primary">CLOSED</button>
</div>
我已获得正确的警报数据值。我已经用更新的值重新加载了边栏(只有第一次单击)。但我无法更改属性值,以便下一次单击将发送切换的值
请帮忙!Thx$(此)
内的toggle\u status方法不是您的btn。在方法内部,这个
关键字指的是该方法所属的对象。在这种情况下,窗口
。作为一种解决方法,我在方法之前创建了一个self
属性来存储对所选$('.project\u status')
对象的引用。我已经更新了代码,所以它会工作
在
$(this).attr()语句中有一个额外的破折号
$(this.attr('data--value','2')代码>应该是:
$(this.attr('data-value','2')代码>这是一个打字错误。我很早就修好了
$('.project_status').click(function(){
var project_id = $(this).attr('data-project-id');
var project_status_val = $(this).attr('data-value');
var toggle_status = function(){
$(this).find('.btn').toggleClass('active').toggleClass('btn-primary');
if (project_status_val == '1'){
alert(project_status_val);
$(this).attr('data-value','2');
} else {
alert(project_status_val);
$(this).attr('data-value','1');
}
return false;
};
var dataString = 'project_id=' + project_id + '&project_status=' + project_status_val;
$.ajax({
type: "POST",
url: "post.php",
data: dataString,
success: toggle_status
});
$('#sidebar-wrapper').load('sidebar.php');
return false;
});
$('.project_status').click(function(){
var self = $(this);
var project_id = self.attr('data-project-id');
var project_status_val = self.attr('data-value');
var toggle_status = function(){
self.find('.btn').toggleClass('active').toggleClass('btn-primary');
if (project_status_val == '1'){
self.attr('data-value','2');
} else {
self.attr('data-value','1');
}
alert(self.attr('data-value'));
return false;
};
var dataString = 'project_id=' + project_id + '&project_status=' + project_status_val;
$.ajax({
type: "POST",
url: "post.php",
data: dataString,
success: toggle_status
});
$('#sidebar-wrapper').load('sidebar.php');
return false;
});