我在字符串中有列表框选项的CSV值,如何分别解析值和文本?
这是我的字符串:
[<option value="Employee_OID">Portal EID</option>, <option value="EmpID">Emp ID</option>, <option value="Employee_Name">Name</option>]
答案 0 :(得分:2)
如果这是你的整个字符串,你可以删除外部括号,然后在逗号上拆分以获得一个元素数组。然后,您可以将它们转换为循环中的jQuery对象并获取值/文本(您也可以使用常规JS执行此操作)
var data = '[<option value="Employee_OID">Portal EID</option>, <option value="EmpID">Emp ID</option>, <option value="Employee_Name">Name</option>]';
data = data.replace('[','').replace(']','').split(',');
$.each(data,function(i,v){ // loop through each option
console.log("Value = " + $(v).val()); // gets option value
console.log("Text = " + $(v).text()); // gets option text
});
http://jsfiddle.net/wirey00/W2dUb/
正如@Kevin所说,你也可以使用正则表达式
data = data.replace(/(\[|\])/g,'').split(',');