亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 Jquery 和 AJAX 填充 Select 元素,不使用 async:false 屬性

使用 Jquery 和 AJAX 填充 Select 元素,不使用 async:false 屬性

catspeake 2022-12-22 13:12:12
我正在嘗試從數據庫中填充一個選擇元素,我需要先從我的 Jquery 腳本中傳遞一些變量(按鈕的 ID)。為此,我使用 AJAX 調用并將變量傳遞給 PHP 文件,進行 SQL 查詢,獲取數據......一切都很好......但是當我創建 html 代碼然后從 PHP 傳遞給 AJAX 時。Jquery 變量html沒有從 AJAX 調用中獲取任何數據...然后我閱讀了有關在 AJAX 調用中使用 async:false 屬性的信息...但我知道這不是一個好的解決方案...我是網絡開發的新手..我想讓你建議我該怎么做...我的代碼示例如下'''<span id="span_product_details"></span><script type="text/javascript">$(document).ready(function(){    var v1=1; //actually id of a button will be saved in this variable which is necessary to make database query    var v2=2;    var v3=3;    var html='';    html += '<select name="abc" id="abc" class="form-control selectpicker" data-live-search="true" required>';    $.ajax({        url:"practice.php",        method:"POST",        data:{v1:v1,v2:v3,v3:v3},        dataType:"html",        success:function(data)        {            html += data;        }    });    html += '</select>';        $('#span_product_details').append(html);    $('.selectpicker').selectpicker();});</script><?php//example code of practice.php file (a seperate file)//$query = (based on $_POST['v1'], $_POST['v2'] and $_POST['v3'])$str='<option value="1">Hello</option>'; //data obtained from database$str.='<option value="2">Hi</option>'; //data obtained from databaseecho $str;?>'''為了更詳細的理解,我正在更詳細地解釋問題。我有一個表,該表的每一行都有 4 列, ProcessID、ProcessDate、Edit_btn、Delete_btn 在每個過程中處理多個部分讓我們說部分號 A1、A2、A3編輯按鈕的 ID 也與 ProcessID 相同?,F在,當按下“編輯”按鈕時,將打開一個模態,執行 AJAX 調用,該模態顯示包含數據的行,如下所示, (選擇帶有部件號的元素)(部件狀態已接受、已拒絕等)(備注)現在,雖然編輯用戶必須能夠向同一過程添加更多部分......為此,有一個(添加按鈕)帶有第一行模態,現在當按下添加按鈕時,一個新行將被添加到模態中,該行必須有一個選擇元素,該元素應該填充一個已處理零件和未處理零件的列表......為此,我必須進行 AJAX 調用,它將 EDIT_BTN id (以獲取 this.processID 下已處理的部分) 傳遞給 php 文件,并獲取選擇元素的選項。在此操作期間,我遇到了上述問題......
查看完整描述

1 回答

?
POPMUISE

TA貢獻1765條經驗 獲得超5個贊

一種方法是使用 async:false 這將起作用。


另一種方法是先附加基本的 html,加載數據


或者你可以只在模態和模態顯示事件中編寫你選擇的 html,加載數據,


ps data v1,v2,v3 你用你的方式,我只是概述了解決方案,


   $(document).ready(function(){

    var v1=1; //actually id of a button will be saved in this variable which is necessary to make database query

    var v2=2;

    var v3=3;

    var html='';

    html += '<select name="abc" id="abc" class="form-control selectpicker" data-live-search="true" required>';

    html += '</select>';

    

    $('#span_product_details').append(html);

    load_dropdown(v1,v2,v3);

    }

   // use v1,v2,v3 however you have, either in function or global, param, or any other way

    function load_dropdown(v1,v2,v3) {

        $.ajax({

            url:"practice.php",

            method:"POST",

            data:{v1:v1,v2:v3,v3:v3},

            success:function(data)

            {

                console.log(data); //  if in console it display html then fine,else check format

                $('#abc').append(data); // or use .selectpicker as selector if its unique

                $('.selectpicker').selectpicker();

            }

        });

    }


查看完整回答
反對 回復 2022-12-22
  • 1 回答
  • 0 關注
  • 151 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號