我已经使用jQuery API创建了标签,并使用以下代码在第二个标签的点击上绑定了一个事件处理程序:
$('#tabs').bind('tabsselect', function(event, ui) {
refreshRemoveUI(event,ui);
});
function refreshRemoveUI(event,ui) {
if(ui.index==1){
$.get('FrontServlet?operation=getAllQues',function(data) {
var html = "";
var questionsNum = data.split(",");
if(questionsNum!="") {
html += '<br/><input type=checkbox name=removeAllQuestionId id=removeAllQuestionId onclick="toggleAll(this.checked)"/> Select/Deselect All<br/>';
for(var i=0;i<questionsNum.length;i++){
html += '<br/><input type=checkbox name=removeQuestionId id=removeQuestionId /> ' + questionsNum[i];
}
$('#remove').show();
} else {
$('#remove').hide();
html = 'No question available in quiz';
}
$('#removequestions').html(html);
});
}
}
我想在完成ajax请求时调用相同的绑定事件,以下是我尝试但没有运气:
$.get('FrontServlet?operation=remove&position='+val, function(data) {
$("#tabs li.ui-state-default:nth(1)").trigger("select");
});
任何想法的人?
答案 0 :(得分:0)
看起来您正在尝试调用ajax加载后要选择的选项卡(在本例中为第二个选项卡)。你为什么不在你的ajax电话中使用它?
$('#tabs').tabs("select", 1);
希望有所帮助!
答案 1 :(得分:0)
似乎没有任何建议可行 我不得不重构我的代码如下:
$('#tabs').bind('tabsselect', function(event, ui) {
if(ui.index==1){
refreshRemoveUI(event,ui);
}
});
$.get('FrontServlet?operation=remove&position='+val, function(data) {
refreshRemoveUI();
});
function refreshRemoveUI(event,ui) {
$.get('FrontServlet?operation=getAllQues',function(data) {
var html = "";
var questionsNum = data.split(",");
if(questionsNum!="") {
html += '<br/><input type=checkbox name=removeAllQuestionId id=removeAllQuestionId onclick="toggleAll(this.checked)"/> Select/Deselect All<br/>';
for(var i=0;i<questionsNum.length;i++){
html += '<br/><input type=checkbox name=removeQuestionId id=removeQuestionId /> ' + questionsNum[i];
}
$('#remove').show();
} else {
$('#remove').hide();
html = 'No question available in quiz';
}
$('#removequestions').html(html);
});
}
现在我得到了我想要的结果。