1

有很多关于如何循环选择选项的例子,例如

遍历 <select> 选项

但我的问题是我必须遍历一个 HTML 字符串,例如:

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

请问如何循环遍历每个项目?我的想法是我有一个从 dropdownlist.innerHTML 获得的字符串,以及一个在 innerHTML 中的所有选项之间查找的 ID:

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

3 回答 3

1

这似乎给出了你想要的结果,你非常接近。只需要$(this).val()真正的:

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

http://jsfiddle.net/K2p9n/

于 2012-09-03T15:28:55.093 回答
0

这会起作用:

function GetValueFromHTML(valueToFind ,html){
    alert ($('<select>' + html + '</select').find('[value=' + valueToFind + ']').text());
}
于 2012-09-03T15:34:34.190 回答
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;

从这里开始,您可以使用您看到的示例来循环选择列表中的选项。

于 2012-09-03T15:26:28.793 回答