单选按钮Javascript数组
我有一个单选按钮,如下所示单选按钮Javascript数组,javascript,Javascript,我有一个单选按钮,如下所示 Apple <input type="radio" id="one" name="apple" data-price="10" value="light"/> Light <input type="radio" id="two" name="apple" data-price="20" value="dark" /> Dark <input type="text" id="appleqty" name="appleqty" value="
Apple
<input type="radio" id="one" name="apple" data-price="10" value="light"/> Light
<input type="radio" id="two" name="apple" data-price="20" value="dark" /> Dark
<input type="text" id="appleqty" name="appleqty" value="" />
Mango
<input type="radio" id="three" name="Mango" data-price="30" value="light"/> Light
<input type="radio" id="one" name="Mango" data-price="40" value="dark" /> Dark
<input type="text" id="Mangoqty" name="Mangoqty" value="" />
Pine Apple
<input type="radio" id="four" name="Pineapple" data-price="50" value="light"/> Light
<input type="radio" id="five" name="Pineapple" data-price="60" value="dark" /> Dark
<input type="text" id="Pineappleqty" name="Pineappleqty" value="" />
Grape
<input type="radio" id="six" name="Grape" data-price="70" value="light"/> Light
<input type="radio" id="seven" name="Grape" data-price="80" value="dark" /> Dark
<input type="text" id="Pineappleqty" name="Pineappleqty" value="" />
array
0 =>
array
'apple' => string 'light' (length=10)
'price' => string '50' (length=1)
1 =>
array
'Pineapple' => string 'dark' (length=10)
'price' => string '60' (length=1)
注意事项:数组键应该是单选按钮名称,价格应该取自单选按钮中的数据价格
,我需要将此数组序列化
这应该使用javascript来完成。您需要迭代
s。为此:
名称
(即苹果
、芒果
,等等),您可以对这些名称中的每个名称执行文档.getElementsByName
,如中所述
中,并迭代其子项,如中所示名称
的无线电时,检查每个名称的checked
属性,以了解选择了哪一个,如中所示
您需要使用以下键值对构建关联数组,如中所示:
的名称
和值
属性李>
价格
和数据价格
属性。您需要使用getAttribute('data-price')
来获取data-price
属性的值李>
例如:
function createArray() {
var myArr = new Array();
myArr[0] = createSubArray('apple');
myArr[1] = createSubArray('Mango');
myArr[2] = createSubArray('Pineapple');
myArr[3] = createSubArray('Grape');
return myArr;
}
function createSubArray(name) {
var arr = new Array();
elems = document.getElementsByName(name);
for (var i = 0; i < elems.length; i++) {
if (elems[i].checked) {
arr[name] = elems[i].value;
arr['price'] = elems[i].getAttribute('data-price');
}
}
return arr;
}
函数createArray(){
var myArr=新数组();
myArr[0]=createSubArray('apple');
myArr[1]=createSubArray('Mango');
myArr[2]=createSubArray(“菠萝”);
myArr[3]=createSubArray('Grape');
返回myArr;
}
函数createSubArray(名称){
var arr=新数组();
elems=document.getElementsByName(名称);
对于(变量i=0;i
你可以看到这个例子在这里起作用。请展示你迄今为止的代码,并解释你在哪里卡住了。答案链接到的同一个网站的问题中有很多代码示例。我已经为你准备了一个示例。关于代码,您不了解什么?您正在执行函数
return
之后的警报
。阵列中没有存储值。您是否尝试了警报
删除您要查找的值?看看这个。还是这个