Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从html选择数组选项中提取信息?_Javascript_Jquery_Html - Fatal编程技术网

Javascript 如何从html选择数组选项中提取信息?

Javascript 如何从html选择数组选项中提取信息?,javascript,jquery,html,Javascript,Jquery,Html,我正在尝试创建一个html选择数组选项,如下所示 <select name="tablename"> <option value="['one','two','three']">Option one</option> </select> 但当我试图通过使用 var myArray2 = new Array(); myArray2 = $('select[name="tablename"]').val(); val=myArray

我正在尝试创建一个html选择数组选项,如下所示

<select name="tablename">
    <option value="['one','two','three']">Option one</option> 
</select>    
但当我试图通过使用

var myArray2 = new Array();
myArray2 = $('select[name="tablename"]').val();
val=myArray2[0];

它没有返回任何内容…任何内容出错

选项值只能存储字符串。您可以以某种字符串形式存储数组,并在JS中解析它。例如:

<select name="tablename">
    <option value="['one','two','three']">Option one</option> 
</select> 

// JS
var myArray2;
myArray2 = $('select[name="tablename"]').val();
myArray2 = eval(myArray2);
alert(myArray2[0]);

选择一
//JS
var myArray2;
myArray2=$('select[name=“tablename”]”)。val();
myArray2=评估(myArray2);
警报(myArray2[0]);

工作演示:

选项值只能存储字符串。您可以以某种字符串形式存储数组,并在JS中解析它。例如:

<select name="tablename">
    <option value="['one','two','three']">Option one</option> 
</select> 

// JS
var myArray2;
myArray2 = $('select[name="tablename"]').val();
myArray2 = eval(myArray2);
alert(myArray2[0]);

选择一
//JS
var myArray2;
myArray2=$('select[name=“tablename”]”)。val();
myArray2=评估(myArray2);
警报(myArray2[0]);

工作演示:

首先,编辑您的标记

<option value="[one,two,three]">Option one</option> 
在string对象中,“v”应该是“[1,2,3]”

v = v.slice(1, -1);
然后是“一,二,三” 现在把它分开

yourArray = v.split(',');
最后得到数组[“一”、“二”、“三”]

:)

首先,编辑您的标记

<option value="[one,two,three]">Option one</option> 
在string对象中,“v”应该是“[1,2,3]”

v = v.slice(1, -1);
然后是“一,二,三” 现在把它分开

yourArray = v.split(',');
最后得到数组[“一”、“二”、“三”]

:)

我不确定您到底想做什么,但如果您想将数组
[“一”、“二”、“三”]
存储到单个
选项中,然后从javascript读取此数组,您可以执行下一步操作:

HTML:

更新

您可以使用原生javascript
JSON
对象方法将数组转换为字符串,然后存储为html选项或选择值;或将OPTION或SELECT的值转换为数组(如果您不需要支持小于8的IE版本):


阅读更多关于MSDN:和MDN:

中的
JSON.parse()
JSON.stringify
的信息,我不确定您到底想做什么,但是如果您想将数组
[“一”、“二”、“三”]
存储到单个
选项中,然后从javascript中读取此数组,您可以执行下一步操作:

HTML:

更新

您可以使用原生javascript
JSON
对象方法将数组转换为字符串,然后存储为html选项或选择值;或将OPTION或SELECT的值转换为数组(如果您不需要支持小于8的IE版本):

阅读MSDN:和MDN:中有关
JSON.parse()和
JSON.stringify
的更多信息

// store Array into OPTION value
myOption.value = JSON.stringify(["one","two","three"]);

// read Array from SELECT value from your example
var newArray = JSON.parse($('select[name="tablename"]').val());