第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

重新填充以選擇選項(xiàng)

重新填充以選擇選項(xiàng)

我想重新填充數(shù)據(jù)以選擇選項(xiàng),但我只有一個(gè)選擇數(shù)據(jù),其他選擇不起作用,我認(rèn)為它們依賴于“更改”功能。請(qǐng) ...首先,我使用 json 數(shù)據(jù)創(chuàng)建州和地區(qū)下拉列表,然后在此選擇上設(shè)置更改方法并獲取地區(qū)數(shù)據(jù)并在地區(qū)選擇中填充這些數(shù)據(jù),然后在地區(qū)選擇上設(shè)置更改方法并獲取鄉(xiāng)鎮(zhèn)數(shù)據(jù)并在鄉(xiāng)鎮(zhèn)選擇中填充。在 btn_save 上設(shè)置onclick 函數(shù)并將所有數(shù)據(jù)填充到表中。這是我的問(wèn)題。我想編輯我的數(shù)據(jù)并在表格上設(shè)置編輯按鈕然后我想將表格數(shù)據(jù)填充到以前的選擇。但它只適用于state region select,這是我的簡(jiǎn)單 html 代碼     <div>        <select name="state" id="state">            <option value="">State And Region</option>        </select>                <select name="district" id="district">            <option value="">District</option>        </select>        <select name="township" id="township">            <option value="">Township</option>        </select>        <input type="text" id="desc" placeholder="Enter your keyword">         <button id="btn_save">Save</button>    </div>    <div>        <table class="tbl_desc">            <tr>                <th>State</th>                <th>District</th>                <th>Township</th>                <th>Description</th>                <th>Action</th>            </tr>        </table>    </div>
查看完整描述

2 回答

?
互換的青春

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超6個(gè)贊

原因是您使用 fetch 而不等待承諾履行。


當(dāng)您在結(jié)束時(shí)撥打電話時(shí)rePopulateSelect:


    $('#state').val(state).change();

    $('#district').val(district).change();

    $('#township').val(township).change();

    $('#desc').val(desc);

}

您正在更改處理程序中進(jìn)行一些異步調(diào)用。要解決這個(gè)問(wèn)題,請(qǐng)嘗試在更改處理程序中等待,例如在您的狀態(tài)更改處理程序中:


// create function for initing districts

async function InitDistricts(selectedState) {

    await fetch('https://hoesein.github.io/select_error/data/lp_district.json')

    .then( res => {

        return res.json();

    })

    .then( json => {

        $('#district').html('');

        $('#district').html(`<option value=''>District</option>`);

        $('#district').append(json.map(d => {

            if(selectedState == d.sr_code){

                return `<option value=${d.d_code}>${d.d_name}</option>` ;

            }

        }));

    });

}


// attach as eventhandler

$('#state').change((e) => InitDistricts(e.target.value));


async function InitTownships(selectedDistrict) {

...

}

同樣在您的 rePopulateSelect 中使用您創(chuàng)建的函數(shù),并且僅在有意義時(shí)才使用 await ...


async function rePopulateSelect(btn) {


....


    $('#state').val(state);

    await InitDistricts(state);

    

    $('#district').val(district);

    await InitTownships(district);

    

    $('#township').val(township);

    $('#desc').val(desc);

}


查看完整回答
反對(duì) 回復(fù) 2022-10-27
?
DIEA

TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超3個(gè)贊

好吧,看來(lái)問(wèn)題很明顯了。例如,您正在更改 的值#district,這會(huì)使您的#district選擇選項(xiàng)設(shè)置為selected。但是由于 ajax 是一個(gè)異步調(diào)用,之后您將重寫選項(xiàng)的代碼,因此它不包含任何selected選項(xiàng)。

您應(yīng)該在 ajax 代碼中附加您的選擇:

if(value = this_select_value) <option selected value="..."/>
else <option value="..."/>

并且this_select_value您應(yīng)該使用除valueval()) 之外的其他一些選擇屬性,因?yàn)楫?dāng)您使用 清除選項(xiàng)時(shí),它正在被重寫html()。一些虛擬的,比如attr('last_val',val);

(不是一個(gè)有效的代碼,只是為了展示這個(gè)想法,可以修復(fù)你的代碼,但我不能在 github 上編輯它)


查看完整回答
反對(duì) 回復(fù) 2022-10-27
  • 2 回答
  • 0 關(guān)注
  • 117 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)