数据属性不存储值的问题

时间:2018-06-18 19:17:51

标签: javascript jquery

我试图根据无线电选择记住和修改值。如果选择了radio1,它应该读取value1和value2的值,并将它们保存为数据属性" previous-value",然后将这些值设置为0或1.如果选择了radio2 ,则value1应设置为0,value2应设置为previous-value。然而,这没有发生,之前的数据似乎没有设置。我没有任何控制台错误。我想知道设置值和使用相同的操作更改值是否会导致问题。

geocoder.geocode(function (responses) {
    res = responses[0].address_components[0].short_name.concat(' ')
        .concat(responses[0].address_components[1].short_name).concat(', ')

    for (var i = 0; i < responses[0].address_components.length; i++) {
        if (responses[0].address_components[i].types[0] == "locality") {
            res = res.concat(responses[0].address_components[i].short_name).concat(', ');
        }
    }

    for (var i = 0; i < responses[0].address_components.length; i++) {
        if (responses[0].address_components[i].types[0] == "administrative_area_level_1") {
            res = res.concat(responses[0].address_components[i].short_name);
        }
    }
    alert(res);
});

1 个答案:

答案 0 :(得分:0)

首先你做一个queryselectorAll,以便获得所有输入类型的无线电。它返回 nodelist 。在我们使用&#34; for &#34;进行循环之后在那个循环中我们做了一个条件&#34;如果&#34;以便验证radioButtons[i]是否有颊。如果是这样,它会显示一条显示selectedOne的消息。

试试这段代码:

let radioButtons=document.querySelectorAll(input[type="radio"]); 
for(let i=0,c=radioButtons.length;i<c;i++){
    if(radioButtons[i].checked){
        alert("am the selectedOne "+radioButtons [i]);
      }
 }