我正在尝试干掉这段代码,特别是在if / else语句中手动输入elems选项而不是我要循环(或递增数字)。我尝试过使用各种循环,但无法在.change()事件中使用它。
var radioSelect = $("input[type='radio']");
var elems = ["q1","q2","q3","q4","q5","q6"];
radioSelect.change(function () {
// grab the name and value selected radio
// set localstorage
var linkName = $(this).attr('name');
var value = $(this).val();
localStorage.setItem(linkName, value);
// I am trying to loop/increment both through the elements
// and also through the #response[x] divs.
if (link_name === elems[1])
{
$("#response1").html(localStorage.getItem(linkName));
}
else if (link_name === elems[2])
{
$("#response2").html(localStorage.getItem(linkName));
}
else if (link_name === elems[3]) {
$("#response3").html(localStorage.getItem(linkName));
}
});
基本HTML
<input type="radio" name="q2" value="Yes">
<input type="radio" name="q2" value="No">
答案 0 :(得分:1)
您可以按if/else
循环替换for
,如下所示:
var radioSelect = $("input[type='radio']");
var elems = ["q1","q2","q3","q4","q5","q6"];
radioSelect.change(function () {
// grab the name and value selected radio
// set localstorage
var linkName = $(this).attr('name');
var value = $(this).val();
localStorage.setItem(linkName, value);
// I am trying to loop/increment both through the elements
// and also through the #response[x] divs.
for( var i=1; i<=elem.length; i++){
if (link_name === elems[i]){
$("#response"+i).html(localStorage.getItem(linkName));
break;
}
}
});
答案 1 :(得分:0)
elems.forEach(function(elem){
if (linkName === elem) {
$("#response" + elem.substring(1)).html(localStorage.getItem(linkName));
}
})