2 回答
TA贡献1825条经验 获得超4个赞
你可以这样做:(?)
var currentRank =
{ iron : { '1': 0, '2': 11, '3': 19 }
, bronze : { '1': 28, '2': 42, '3': 56 }
, silver : { '1': 69, '2': 85, '3': 102 }
, gold : { '1': 118, '2': 140, '3': 161 }
, plat : { '1': 182, '2': 211, '3': 240 }
, diamond : { '1': 276, '2': 311, '3': 351 }
, imortal : { '1': 406, '2': 499, '3': 591 }
};
const myForm = document.forms['my-form']
;
function setSelect( xSlct, arr )
{
xSlct.innerHTML = '' // clear all options
let ph = new Option(xSlct.dataset.placeholder , '', true, true )
xSlct.add( ph )
arr.forEach(el => xSlct.add(new Option( el , el )) )
ph.disabled = true
}
setSelect( myForm.rank1, Object.keys(currentRank))
setSelect( myForm.devision1, Object
.values(currentRank)
.map(Object.keys)
.flat()
.filter((v,i,t)=>t.indexOf(v)===i))
<form action="xxx" name="my-form" >
<select name="rank1" data-placeholder="<< Rank >>"></select>
<select name="devision1" data-placeholder="<< Devision >>"></select>
</form>
TA贡献1828条经验 获得超4个赞
将类似的内容添加到您选择的每个字段中
<label for="rank1">Rank1:</label>
<select id="rank1" class="calcInput" onchange="getval(this);">
<option value="">--Select rank--</option>
</select>
并追加而不是替换
inputField1.rank1.innerHTML +=
...
添加回答
举报