简体   繁体   English

如何解析在Javascript / jQuery中作为HTML字符串返回的下拉列表?

[英]How do I parse a dropdownlist returned as a HTML string in Javascript/jQuery?

I get a HTML string like this. 我得到一个像这样的HTML字符串。 I want to get the selected value, which, in this case is AN : 我想得到选定的值,在这种情况下是AN

<SELECT id=ddl_Freq name=ddl_Freq><OPTION selected value=AN>Annually</OPTION> <OPTION value=BM>Bi-Monthly</OPTION> <OPTION value=MO>Monthly</OPTION> <OPTION value=OT>One Time</OPTION> <OPTION value=QT>Quarterly</OPTION> <OPTION value=WE>Weekly</OPTION></SELECT>

which when formatted looks like this: 格式化时看起来像这样:

<SELECT id=ddl_Freq name=ddl_Freq>
    <OPTION selected value=AN>Annually</OPTION> 
    <OPTION value=BM>Bi-Monthly</OPTION> 
    <OPTION value=MO>Monthly</OPTION>
    <OPTION value=OT>One Time</OPTION> 
    <OPTION value=QT>Quarterly</OPTION> 
    <OPTION value=WE>Weekly</OPTION>
</SELECT>

I tried these two approaches, but I wasn't successful. 我尝试了这两种方法,但我没有成功。

Approach 1: JavaScript 方法1:JavaScript

DdlHtml = document.createElement('select');
DdlHtml.innerHTML = RawDdlString;
item = DdlHtml.options[DdlHtml.selectedIndex].value;

This fails because the string already contains <SELECT> and </SELECT> tags. 这会失败,因为该字符串已包含<SELECT></SELECT>标记。

Approach 2: jQuery 方法2:jQuery

DdlHtml2 = $.parseHTML(RawDdlString);
item = DdlHtml2.options[DdlHtml2.selectedIndex].value;

This also didn't work as DdlHtml2.options is undefined. 这也不起作用,因为DdlHtml2.options未定义。

How do I parse this string which contains HTML for a dropdownlist in either Javascript or jQuery? 如何在Javascript或jQuery中解析包含HTML下拉列表的HTML的字符串?

Wrap the string in a jQuery selector: 将字符串包装在jQuery选择器中:

$(function() {
    var $select = $("<SELECT id=ddl_Freq name=ddl_Freq><OPTION selected value=AN>Annually</OPTION> <OPTION value=BM>Bi-Monthly</OPTION> <OPTION value=MO>Monthly</OPTION> <OPTION value=OT>One Time</OPTION> <OPTION value=QT>Quarterly</OPTION> <OPTION value=WE>Weekly</OPTION></SELECT");
   console.log($select.val()); 
});

Here is an example fiddle 是一个小例子

Using jQuery 使用jQuery

$('#ddl_Freq').val() $( '#ddl_Freq')。VAL()

without jQuery, 没有jQuery,

<SELECT id=ddl_Freq name=ddl_Freq>
    <OPTION selected value=AN>Annually</OPTION> 
    <OPTION value=BM>Bi-Monthly</OPTION> 
    <OPTION value=MO>Monthly</OPTION>
    <OPTION value=OT>One Time</OPTION> 
    <OPTION value=QT>Quarterly</OPTION> 
    <OPTION value=WE>Weekly</OPTION>
</SELECT>

var x = document.getElementById("ddl_Freq");
x.options[x.selectedIndex].value;



Output:
    "AN"

link to jsbin snippet: 链接到jsbin片段:

http://jsbin.com/omuxow/1/edit

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何使jQuery JSON返回的数据在全球可用和次要字符串解析帮助? - How do I make jQuery JSON returned data available globally & Minor string parse help? 如何执行Ajax调用返回的HTML中的内联JavaScript-JQUERY - How do I execute inline javascript in HTML returned from an ajax call - JQUERY 如何获取jquery-oembed-all返回的HTML作为字符串? - How do I get the HTML returned by jquery-oembed-all as a string? 如何在javascript中解析此字符串 - How do i parse this string in javascript Javascript / jQuery - Parse将“数据”作为HTML返回以供进一步选择? - Javascript / jQuery - Parse returned 'data' as HTML for further selecting? 如何在Javascript / JQUery中将返回的JSON对象整形为数组? - How do I shape the returned JSON object into array in Javascript/JQUery? 如何在Android上从Javascript返回一个字符串? - How do I Unescape a String returned from Javascript on Android? 使用jquery / javascript解析字符串中的html元素 - Parse html element in a string using jquery/javascript 如何查找是否所有ajax请求都已完成,并且每个请求都使用Javascript和/或JQuery将数据从服务器返回到HTML? - How do I find whether all ajax requests are completed and each request returned data from server to HTML using Javascript and/or JQuery? 如何用JavaScript替换HTML字符串 - How do I replace a HTML string with JavaScript
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM