Javascript 如何动态地为变量赋予按钮的值?
Javascript how do I give a variable the value of my button dynamically?
我正在尝试创建一个过滤器来查看哪种鞋最适合人们。
我正在创建多个问题,每次按下按钮时,我都希望将该按钮的值添加到我的 url 变量中。
我似乎无法弄清楚如何获取我按下的按钮的值并将其添加到 url 变量中,并在值之间添加 &。有人可以帮助我吗?
var Test = [
[
'Whats your size?', ['41', 'url1'],
['42', 'url2'],
['43', 'url3']
],
[
'What color would you like?', ['Red', 'url1'],
['Blue', 'url2'],
['Yellow', 'url3'],
['Green', 'url4']
],
[
'What brand would you like?', ['Adidas', 'url1'],
['Nike', 'url2'],
['Puma', 'url3']
]
];
var url = '#';
count = 1;
var questionNumber = 0;
var button = document.getElementById('answer');
var question = document.getElementById('question');
var answerButton;
function check() {
//question
console.log(Test[questionNumber][0]);
for (let y = 1; y < Test[questionNumber].length; y++) {
// url
url = url + Test[questionNumber][y][1];
// button
var btn = document.createElement('button');
btn.value = Test[questionNumber][y][1];
btn.className = "filter_anwser";
btn.textContent = Test[questionNumber][y][0];
btn.setAttribute('data-el', 1);
button.appendChild(btn);
// class
answerButton = document.querySelectorAll('.filter_anwser');
// console.log(url);
}
// question
var txt = document.createElement('h1');
txt.textContent = Test[questionNumber][0];
question.appendChild(txt);
console.log(".....");
// adds 1 to question to see a different question
questionNumber++;
}
<div id="question"></div>
<div id="answer"></div>
<button onclick="check()">Next</button>
您可以推送并稍后从对象
生成URL
我个人会使用尺码、品牌等代替 url1、url1,
function getLink(parms) {
return "https://wwww.yourserver.com/shoes#"+parms.join(",")
};
button.addEventListener("click",function(e) {
const tgt = e.target;
parms.push(tgt.value);
console.log(getLink(parms))
})
var Test = [
[
'Whats your size?', ['41', 'url1'],
['42', 'url2'],
['43', 'url3']
],
[
'What color would you like?', ['Red', 'url1'],
['Blue', 'url2'],
['Yellow', 'url3'],
['Green', 'url4']
],
[
'What brand would you like?', ['Adidas', 'url1'],
['Nike', 'url2'],
['Puma', 'url3']
]
];
// let parms = {};
let parms = []
count = 1;
var questionNumber = 0;
var button = document.getElementById('answer');
var question = document.getElementById('question');
var answerButton;
function getLink(parms) {
/* const url = new URL("https://wwww.yourserver.com/shoes");
for (let key in parms) {
url.searchParams.append(key,parms[key])
}
return url.toString()
*/
return "https://wwww.yourserver.com/shoes#"+parms.join(",")
};
button.addEventListener("click",function(e) {
const tgt = e.target;
//parms[tgt.value] = tgt.textContent;
parms.push(tgt.value);
console.log(getLink(parms))
})
function check() {
//question
// console.log(Test[questionNumber][0]);
for (let y = 1; y < Test[questionNumber].length; y++) {
// button
var btn = document.createElement('button');
btn.value = Test[questionNumber][y][1];
btn.className = "filter_anwser";
btn.textContent = Test[questionNumber][y][0];
btn.setAttribute('data-el', 1);
button.appendChild(btn);
// class
answerButton = document.querySelectorAll('.filter_anwser');
// console.log(url);
}
// question
var txt = document.createElement('h1');
txt.textContent = Test[questionNumber][0];
question.appendChild(txt);
// adds 1 to question to see a different question
questionNumber++;
}
<div id="question"></div>
<div id="answer"></div>
<button onclick="check()">Next</button>
旧答案
let parms = {};
function getLink(parms) {
const url = new URL("https://wwww.yourserver.com/product");
for (let key in parms) {
url.searchParams.append(key,parms[key])
}
return url.toString()
};
button.addEventListener("click",function(e) {
const tgt = e.target;
parms[tgt.value] = tgt.textContent;
console.log(getLink(parms))
})
我正在尝试创建一个过滤器来查看哪种鞋最适合人们。 我正在创建多个问题,每次按下按钮时,我都希望将该按钮的值添加到我的 url 变量中。 我似乎无法弄清楚如何获取我按下的按钮的值并将其添加到 url 变量中,并在值之间添加 &。有人可以帮助我吗?
var Test = [
[
'Whats your size?', ['41', 'url1'],
['42', 'url2'],
['43', 'url3']
],
[
'What color would you like?', ['Red', 'url1'],
['Blue', 'url2'],
['Yellow', 'url3'],
['Green', 'url4']
],
[
'What brand would you like?', ['Adidas', 'url1'],
['Nike', 'url2'],
['Puma', 'url3']
]
];
var url = '#';
count = 1;
var questionNumber = 0;
var button = document.getElementById('answer');
var question = document.getElementById('question');
var answerButton;
function check() {
//question
console.log(Test[questionNumber][0]);
for (let y = 1; y < Test[questionNumber].length; y++) {
// url
url = url + Test[questionNumber][y][1];
// button
var btn = document.createElement('button');
btn.value = Test[questionNumber][y][1];
btn.className = "filter_anwser";
btn.textContent = Test[questionNumber][y][0];
btn.setAttribute('data-el', 1);
button.appendChild(btn);
// class
answerButton = document.querySelectorAll('.filter_anwser');
// console.log(url);
}
// question
var txt = document.createElement('h1');
txt.textContent = Test[questionNumber][0];
question.appendChild(txt);
console.log(".....");
// adds 1 to question to see a different question
questionNumber++;
}
<div id="question"></div>
<div id="answer"></div>
<button onclick="check()">Next</button>
您可以推送并稍后从对象
生成URL我个人会使用尺码、品牌等代替 url1、url1,
function getLink(parms) {
return "https://wwww.yourserver.com/shoes#"+parms.join(",")
};
button.addEventListener("click",function(e) {
const tgt = e.target;
parms.push(tgt.value);
console.log(getLink(parms))
})
var Test = [
[
'Whats your size?', ['41', 'url1'],
['42', 'url2'],
['43', 'url3']
],
[
'What color would you like?', ['Red', 'url1'],
['Blue', 'url2'],
['Yellow', 'url3'],
['Green', 'url4']
],
[
'What brand would you like?', ['Adidas', 'url1'],
['Nike', 'url2'],
['Puma', 'url3']
]
];
// let parms = {};
let parms = []
count = 1;
var questionNumber = 0;
var button = document.getElementById('answer');
var question = document.getElementById('question');
var answerButton;
function getLink(parms) {
/* const url = new URL("https://wwww.yourserver.com/shoes");
for (let key in parms) {
url.searchParams.append(key,parms[key])
}
return url.toString()
*/
return "https://wwww.yourserver.com/shoes#"+parms.join(",")
};
button.addEventListener("click",function(e) {
const tgt = e.target;
//parms[tgt.value] = tgt.textContent;
parms.push(tgt.value);
console.log(getLink(parms))
})
function check() {
//question
// console.log(Test[questionNumber][0]);
for (let y = 1; y < Test[questionNumber].length; y++) {
// button
var btn = document.createElement('button');
btn.value = Test[questionNumber][y][1];
btn.className = "filter_anwser";
btn.textContent = Test[questionNumber][y][0];
btn.setAttribute('data-el', 1);
button.appendChild(btn);
// class
answerButton = document.querySelectorAll('.filter_anwser');
// console.log(url);
}
// question
var txt = document.createElement('h1');
txt.textContent = Test[questionNumber][0];
question.appendChild(txt);
// adds 1 to question to see a different question
questionNumber++;
}
<div id="question"></div>
<div id="answer"></div>
<button onclick="check()">Next</button>
旧答案
let parms = {};
function getLink(parms) {
const url = new URL("https://wwww.yourserver.com/product");
for (let key in parms) {
url.searchParams.append(key,parms[key])
}
return url.toString()
};
button.addEventListener("click",function(e) {
const tgt = e.target;
parms[tgt.value] = tgt.textContent;
console.log(getLink(parms))
})