2015-01-04 71 views
0

我有一個變量可能包含多個逗號分隔值。我想在無序列表中動態顯示lis。如何在jquery中獲取動態添加的li的文本

當每個li被點擊時,我需要獲取li中的文本以便在稍後的函數中使用。我試圖在下面做不成功。

請單擊時幫助我獲取每個li的文本。

function viewUploadedFiles() { 
var fpath = $("#filePathList").val(); 
var fnameVal = $("#fileNameList").val(); 
var display = displayFiles(fnameVal); 
$("#upload_FileList").html(display); 
} 

function displayFiles(fname) { 
    var septor = ','; 
    var selected="<ul class='file_List' >"; 
    if (fname.indexOf(septor) >= 0) { 
     var fnameArray = fname.split(septor); 
     $.each(fnameArray, function(index,value) { 
      alert(index+" Files ===> "+value); 
       selected+='<li class="file_list_line" id="file_ID"><span class="text">'+value+'</span><input type="button" value="Delete File" onclick="deleteFile()"></li>'; 
     }); 

    } else { 
     selected+='<li class="file_list_line" id="file_ID"><span class="text">'+fname+'</span><input type="button" value="Delete File" onclick="deleteFile()"></li>'; 
    } 
    selected+='</ul>'; 
    return selected; 
} 

function deleteFile(){ 
alert($(this).text()); 
} 

<div id="upload_FileList" align="left"> 
</div> 
+0

你可以把一個JSfuddle,所以我們有你想什麼來實現,並在那裏它的失敗工作的例子? – vimes1984 2015-01-04 12:02:20

+0

http://jsfiddle.net/login2app/J5nCS/506/ – user1489337 2015-01-04 12:32:11

回答

1

我對你用來讓它在jsfiddle上工作的腳本做了一個小改動。您遇到的問題是,單擊按鈕時deleteFile()函數不可用。刪除內聯函數調用並使用jquery使用委託註冊調用可修復您的問題。

假設你把生成的HTML標記列表裏面,你需要把它添加到您的腳本。

$('#upload_FileList').on('click', 'li', function(){ 
    $(this).css('color', 'red'); 
    console.log($(this).text()) 
}); 

這只是觸發每當點擊upload_filelist UL內的LI的功能。

這裏的運作小提琴 - http://jsfiddle.net/t99sm54q/1/

相關問題