2012-09-03 1 views
1

선택 옵션을 반복하는 방법이 많은 예제가 있습니다.HTML 형식의 Jquery 루프 옵션 예 :

Iterate through <select> options

하지만 내 문제는 내가 예를 들어, HTML 문자열을 통해 루프를 가지고있다 :

var s = "<option value="0">OptA</option><option value="1">OptB</option><option value="2">OptC</option>" 

어떻게 각 항목을 반복 할 수 있습니까?

GetValueFromHTML(iValueToFind,strHTML){ 
    $(strHTML).each(function() { 
    var iTempValue = 
    var OptionText = 
    if (iTempValue == iValueToFind){ 
     alert(OptionText); 
     } 
    }) 
} 

답변

1

이 결과는 원하는 결과를 제공하는 것처럼 보입니다. 그냥 정말 $(this).val() 필요 :

function GetValueFromHTML(valueToFind ,html){ 
    $(html).each(function() { 
     var val = $(this).val(); 
     if (val == valueToFind){ 
      alert($(this).text()); 
     } 
    }); 
} 

http://jsfiddle.net/K2p9n/

0
var s = "<option value="0">OptA</option><option value="1">OptB</option><option value="2">OptC</option>"; 
var selectElement = document.createElement('select'); 
selectElement.innerHTML = s; 

여기부터, 당신은 당신이 가지고있는 예제를 사용할 수 있습니다 아이디어는 내가 innerHTML을 모든 옵션 사이를 찾을 수있는 dropdownlist.innerHTML에서 얻은 문자열 및 ID를 가지고있다 선택한 목록의 옵션을 반복 할 수 있습니다.

0

이 작동 것이다 :

function GetValueFromHTML(valueToFind ,html){ 
    alert ($('<select>' + html + '</select').find('[value=' + valueToFind + ']').text()); 
}