Javascript 当下拉列表值更改时,价格也会更改表中的所需价格和大小
如果下拉列表值更改了价格,则希望在顶部的Tabel innerHTML中添加行运行时,也会更改表中的希望价格和大小。就像amazone一样: 选择尺寸小、大、Xl、XLL 每一个都有不同的价格,我想在网站顶部添加一个标签,在一行中有两个大小加,如果下拉菜单有四个值,然后是价格变化的四倍,并创建四行 我正在尝试使用异步函数 代码如下:Javascript 当下拉列表值更改时,价格也会更改表中的所需价格和大小,javascript,jquery,html,css,Javascript,Jquery,Html,Css,如果下拉列表值更改了价格,则希望在顶部的Tabel innerHTML中添加行运行时,也会更改表中的希望价格和大小。就像amazone一样: 选择尺寸小、大、Xl、XLL 每一个都有不同的价格,我想在网站顶部添加一个标签,在一行中有两个大小加,如果下拉菜单有四个值,然后是价格变化的四倍,并创建四行 我正在尝试使用异步函数 代码如下: function() { function fireEvent(element, event) { if (document.createEventObj
function() {
function fireEvent(element, event) {
if (document.createEventObject) {
var evt = document.createEventObject();
return element.fireEvent('on'+event, evt);
} else {
var evt = document.createEvent('HTMLEvents');
evt.initEvent(event, true, true);
return !element.dispatchEvent(evt);
}
}
var prices = [];
var inclSizes = [];
var siteURLs = [];
var createTable = () => {
var newTable="<table>";
siteURLs.forEach(function(wid,i){
var line="<tr>";
line+="<td>"+siteURLs[i]+"</td>";
line+="<td>"+inclSizes[i]+"</td>";
line+="<td>"+inclSizes[i]+"</td>";
line+="</tr>";
newTable+=line;
});
newTable+="</table>";
document.body.insertAdjacentHTML('afterbegin', newTable);
return true;
};
var getData = ({cushionPromiseResolve,inclSize}) => {
var prices = document.querySelector('span[id="priceblock_ourprice"]');
siteURLs.push('https://www.amazon.com/');
inclSize?inclSizes.push(inclSize):inclSizes('N/A')
prices ? prices.push(prices.textContent) : prices.push('N/A');
if (cushionPromiseResolve) {
cushionPromiseResolve();
}
};
async function sizeVariations() {
var sizeVariations = document.querySelector('span[id="dropdown_selected_size_name"] span[class="a-dropdown-prompt"]');
if (sizeVariations.textContent=== 'Select') {
for (var i=0; i < sizeVariations.options.length; i++) {
if (sizeVariations.options[i].value === '') {
getData({ inclSize: 'False'});
continue;
}
sizeVariations.selectedIndex = i;
fireEvent(sizeVariations, 'change');
await new Promise(function(resolve, reject){
setTimeout(function() {
getData({cushionPromiseResolve: resolve, inclSize: 'True'});
}, 1500);
});
}
}
return createTable();
}
return sizeVariations();
function(){
函数fireEvent(元素、事件){
if(document.createEventObject){
var evt=document.createEventObject();
返回元素.firevent('on'+事件,evt);
}否则{
var evt=document.createEvent('HTMLEvents');
evt.initEvent(事件,真,真);
return!element.dispatchEvent(evt);
}
}
var价格=[];
var inclSizes=[];
var siteURLs=[];
var createTable=()=>{
var newTable=“”;
forEach(函数(wid,i){
var line=“”;
行+=“”+siteURLs[i]+“”;
行+=“”+包含大小[i]+“”;
行+=“”+包含大小[i]+“”;
行+=“”;
newTable+=行;
});
newTable+=“”;
document.body.insertAdjacentHTML('afterbegin',newTable);
返回true;
};
var getData=({bufferPromiseSolve,inclSize})=>{
var prices=document.querySelector('span[id=“priceblock\u ourprice”]”);
siteURL.push('https://www.amazon.com/');
inclSize?inclSizes.push(inclSize):inclSizes('N/A')
prices?prices.push(prices.textContent):prices.push('N/A');
if(promisersolve){
软垫垫垫;
}
};
异步函数sizeVariations(){
var sizeVariations=document.querySelector('span[id=“dropdown\u selected\u size\u name”]span[class=“a-dropdown-prompt”]”);
如果(sizeVariations.textContent=='Select'){
对于(变量i=0;i
}