我有动态代码,可根据返回的结果数创建标签。我现在的问题是,我想在选项卡标题上添加勾号,但我无法遍历<li>
和<a href
&gt;我需要附加勾号(附加到<a href>
)。我尝试了很多.parent()
和.find()
,但我似乎无法理解这一点。我错过了什么(毫无疑问,这很简单!)
function getData() {
$.getJSON("getQuestions.asp?sup="+dataVal1+"&prod="+dataVal2, function(data){})
.done(function(data){
html = '<div class="center">Supplier: '+suppName+'</div><div class="center">'
html += 'Part No & Description: '+partCode+' - '+partName+'</div><ul>'
var len = data.length;
for (var i = 0; i< len; i++) {
html += '<li><a href="#q'+data[i].id+'">'+data[i].shortdesc+'</a></li>'
}
html += '</ul>'
for (var i = 0; i< len; i++) {
html += '<div id="q'+data[i].id+'">'+data[i].question
html += '<fieldset><legend>Question '+parseInt(i+1)+'</legend>'
if (data[i].evidence == '1') {
html += '<iframe id="upload" frameborder="0" width="500" scrolling="no" src="upload.asp?supp='+suppCode+'&part='+partCode+'&q='+data[i].shortdesc+'"></iframe>'
console.log(data[i].shortdesc)
} else {
html += '<div class="yesno" data-desc="'+data[i].shortdesc+'"><span class="btn small" id="yes" >YES</span> <span class="btn small" id="no">NO</span></div>'
}
html +='</fieldset></div>'
}
$('#output').html(html);
$( "#output" ).tabs();
});
};
我已经彻底搜索过这个问题,但我可能无法找到其他地方的确切解决方案。
答案 0 :(得分:0)
您可以使用标签事件来执行此操作。您可以在那里找到锚标记。
function getData() {
$.getJSON("getQuestions.asp?sup="+dataVal1+"&prod="+dataVal2, function(data){})
.done(function(data){
html = '<div class="center">Supplier: '+suppName+'</div><div class="center">'
html += 'Part No & Description: '+partCode+' - '+partName+'</div><ul>'
var len = data.length;
for (var i = 0; i< len; i++) {
html += '<li><a id="tab_"'+ i +' href="#q'+data[i].id+'">'+data[i].shortdesc+'</a></li>'
}
html += '</ul>'
for (var i = 0; i< len; i++) {
html += '<div id="q'+data[i].id+'">'+data[i].question
html += '<fieldset><legend>Question '+parseInt(i+1)+'</legend>'
if (data[i].evidence == '1') {
html += '<iframe id="upload" frameborder="0" width="500" scrolling="no" src="upload.asp?supp='+suppCode+'&part='+partCode+'&q='+data[i].shortdesc+'"></iframe>'
console.log(data[i].shortdesc)
} else {
html += '<div class="yesno" data-desc="'+data[i].shortdesc+'"><span class="btn small" id="yes" >YES</span> <span class="btn small" id="no">NO</span></div>'
}
html +='</fieldset></div>'
}
$('#output').html(html);
$( "#output" ).tabs();
});
};
$( "#output" ).tabs({
activate : function(event, ui){
var tab_index = ui.newTab.index();
var anchor_tag = ui.newTab.children("a");
var anchor_tag_id = anchor_tag.attr("id");
localStorage.setItem("active_tab_anchor", anchor_tag_id);
}
});
$('#answer_event').on('click', function(){
var anchor_tag_id = localStorage.getItem("active_tab_anchor");
var anchor_tag = $('#'+anchor_tag_id);
var href = anchor_tag.attr("href");
href += href + 'tick';
anchor_tag.attr('href', href);
});
这取决于你何时想要附加勾号。
检查此处的事件:http://api.jqueryui.com/tabs/