2013-03-07 41 views
1

我正在jQuery矢量地圖中工作,我必須在UL li標籤中添加用戶選擇的地區名稱。我這樣做了,每當用戶點擊矢量地圖區域,相應的區域值在li標籤中得到更新。如何比較UL LI文本和數組值

現在我要做的條件,

如果用戶選擇區域的值已經存在於麗列表項。我必須顯示警報('用戶選擇的區域已經在列表中');

如果用戶選擇的區域值不存在於li項目中,我必須將該區域值添加到li項目。

下面示例代碼 - (用戶選擇區域的狀態值我得到在 「區域」)

var regionList = new Array('Alaska','Alabama','Arkansas','Arizona', etc....) /* sample array*/ 


    if(li item text value == arrayvalue) /*exact condition statement I want*/ 
    { 
     alert("user selected region already in the list") 

    } 
    else 
    { 
      $('<li>' + region + '</li>').appendTo('ul#location-selected'); 
    } 


    <ul id="location-selected" style="font-weight:bold;width:350px;padding-top:15px;color:red;"></ul> 

請幫我完成這個..

回答

1
var ul = document.getElementById('location-selected'); 
var lis = ul.getElementsByTagName('li'); 

for(var i = 0; i < lis.length; i++){ 
    if(lis[i].innerHTML === region) { 
     isInList = true; 
     break; 
    } 
} 

if(isInList) 
    alert("user selected region already in the list") 
else { 
    var newli = document.createElement('li'); 
    newli.innerHTML = region; 
    ul.appendChild(newli); 
} 

的jQuery:

var ul = $('#location-selected'); 
var lis = ul.children('li'); 

var isInList = false; 
for(var i = 0; i < lis.length; i++){ 
    if(lis[i].innerHTML === region) { 
     isInList = true; 
     break; 
    } 
} 

if(isInList) 
    alert("user selected region already in the list") 
else 
    var newli = $('<li></li>').html(region).appendTo(ul); 
+0

@Prabu請參閱編輯答案 – karaxuna 2013-03-07 19:43:09

+0

謝謝Karaxuna,Very Wellldone ...它的工作如期...... – SPN 2013-03-07 20:03:23

+0

@P拉布我很高興,如果它是有用的:) – karaxuna 2013-03-07 20:07:48