我有一個ajax請求。我無法填寫選擇標簽的選項。我有很多塊選擇標簽具有相同的點 - 選擇一種產品。
我的選擇標簽:
<select class="form-control" name="type" id="select-types">
</select>
我的ajax請求:
function getTypes() {
$.ajax({
url: `/types/json`
}).done(function(res){
console.log(res)
})}
“res”是這樣的一種:{types: [{"id":1,"name": Name}, ...]}
例如,我有 5 個具有相同選擇的塊。
1.如何只填寫最后一個?
2.如何填寫?
uj5u.com熱心網友回復:
- 您可以使用
.slice(0, 5)將選項限制為最多 5 個專案 - 您可以更改
innerHTML您的選擇以生成選項
const fakeRequest = () => new Promise(resolve => {
setTimeout(() => {
resolve([
'opt1', 'opt2', 'opt3', 'opt4', 'opt5', 'opt6', 'opt7'
])
}, 1000)
})
const select = document.getElementById('select-types')
fakeRequest().then(options => {
const showingOptions = options.slice(0, 5)
select.innerHTML = showingOptions.map(value => `<option value='${value}'>${value}</option>`)
})
<select class="form-control" name="type" id="select-types">
</select>
uj5u.com熱心網友回復:
這應該有效。將型別串列映射到選項 html 語法,并連接到一個字串。然后設定為選擇的innerHTML。
function getTypes() {
$.ajax({
url: `/types/json`
}).done(function(res) {
let select = document.getElementById('select-types');
let options =
res.types.map(type => `<option value=${type.id}>${type.name}</option>`)
.join('\n');
select.innerHTML = options;
});
}
uj5u.com熱心網友回復:
獲取最后一個元素的一種方法是getElementsByTagName使用.selectoptionselect
const types = [{"id":1,"name": "Something"}, {"id":2,"name": "New Text"}];
const allSelects = document.getElementsByTagName('select');
const lastSelect = allSelects[allSelects.length - 1];
types.forEach((type) => {
const option = document.createElement("option");
option.value = type.id;
option.text = type.name;
lastSelect.appendChild(option)
})
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/492934.html
標籤:javascript
上一篇:未定義用戶ID
