在一个HTML页面中,我有一个像这样的带有值的选择框。
<select onChange="return filler(this.value);">
<option value="{'name':'rajiv',age:'40'}">a</option>
<option value="{'name':'mithun',age:'22'}">f</option>
</select>
我想传递一个JavaScript数组或对象作为选项值。现在它将选项值视为字符串。
我希望它是一个数组,这样我就可以访问它
this.value.name,在filler函数中使用this.value.age。
这可能吗?
4条答案
按热度按时间2nc8po8w1#
您将无法在
value
属性中存储对象/数组,但是可以选择使用data-*
属性,该属性在jQuery 1.4.3+中自动支持json使用
.change()
Example on jsfiddle
5kgi1eie2#
不,不是那样的。值必须是字符串。我强烈建议使用类似jQuerys
.data()
方法的东西在expando属性中保存Arrays
或Objects
。如果它必须在值中,你只需要JSON解码(.parse)它:
但我还是不认为这是一个好的解决方案。看看http://api.jquery.com/jQuery.data/也,如果你把JSON字符串放在任何
data-
HTML5属性中,jQuery将自动转换数组和对象。例如:如果您现在使用jQuery访问该节点,我们将自动在其数据expando中获取该对象
9q78igpj3#
使用时可以使用parseJSON将字符串转换为对象,但值需要是字符串。
xdyibdwo4#
React解决方案