JQuery将文本追加到当前选项卡

JQuery append text to current tab

本文关键字:选项 文本 追加 JQuery      更新时间:2024-07-03

我有一个动态代码,它根据返回的结果创建选项卡。我现在的问题是,我想在选项卡标题上附加一个勾号,但我无法遍历到<li><a href>我需要将勾号附加到(附加到<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 &amp; 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>&nbsp;<span class="btn small" id="no">NO</span></div>'
            }
            html +='</fieldset></div>'
        }
        $('#output').html(html);
        $( "#output" ).tabs();
    }); 
};

我已经彻底搜索过了,可能我没有找到确切的解决方案,可能在其他地方。

您可以使用选项卡事件来执行此操作。在那里你可以找到定位标记。

    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 &amp; 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>&nbsp;<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/