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

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

在刪除 select2 選項時觸發 ajax 從 mysql 中刪除

在刪除 select2 選項時觸發 ajax 從 mysql 中刪除

PHP
揚帆大魚 2023-07-01 18:47:04
我正在嘗試構建一個 CRUD 操作,并且php我js(ajax)有一些過濾器,用戶可以向類別添加更多過濾器,在添加操作時效果很好,但是在編輯時我使用 ajax 進行操作,單擊時從數據庫檢索并填充輸入,但在select2 我檢索這樣的數據:        var main_id = $(this).attr("id");        $.ajax({            url:"<?php echo $site_url;?>/actions/get_filters.php",            method:"POST",            data:{main_id:main_id},            dataType:"json",            success:function(data){            var fl = [];            var nr = [];            $.each(data, function(i, field){              fl.push(field.fil_opt+","+field.txt_fil);              nr.push(field.id);                              });            for (i = 0; i < nr.length; ++i) {                $('#filters_cat_update > option').each(function() {                   $(this).attr('data-id', nr[i++]);                });            }            $('#filters_cat_update').val(fl);            $('#filters_cat_update').trigger('change'); // Notify any JS components that the value changed                         }          });我檢測到當我刪除這樣的選項時:    //remove from edit options    $('#filters_cat_update').on('select2:unselecting', function (e) {        console.log(e.params.args.data.id);    });我的 html 看起來像這樣:<div class="col-lg-6 col-md-12 col-sm-12">    <select class="js-example-basic-multiple custom-select mr-sm-2" name="filters_update[]" multiple="multiple" id="filters_cat_update">    <?php         $sqlf = mysqli_query($conn, "SELECT * FROM filtre WHERE vizibil=1 ORDER BY pozitie");        while ($rf = mysqli_fetch_assoc($sqlf)) {?>             <option data-id="" value="<?=$rf['id'];?>,<?=$rf['nume'];?>"><?=$rf['nume'];?></option>    <?php } ?>   </select></div>我想做的是,當我單擊一個選項(例如“顏色”)以與ajax一起使用并從表mysql中刪除時,我為每個類別保存了過濾器并將其刪除。正如您在我的選項中看到的,我連接了來自另一個表的過濾器 ID 和過濾器名稱,用戶可以在其中創建過濾器。先感謝您。
查看完整描述

1 回答

?
泛舟湖上清波郎朗

TA貢獻1818條經驗 獲得超3個贊

您可以data-id使用$("#filters_cat_update option:selected")它為您提供選定的選項,您可以使用它.attr并.val()獲取所需的值。


演示代碼:


$('#filters_cat_update').select2();

$('#filters_cat_update').on('select2:unselecting', function(e) {

  var code = $("#filters_cat_update option:selected").attr('data-id'); //getting id 

  var values = $("#filters_cat_update option:selected").val(); //get values

  var datas = values.split(',');

  var id = datas[0]; //id

  var color = datas[1]; //color

  console.log("id - " + id + " color -  " + color + " data-id -" + code)

//ajax call

  $.ajax({

    url: "your url",

    method: "POST",

    data: {

      id: id,

      color: color,

      code :code

    }, //send data  

    success: function(data) {

      console.log("done")


    }

  });

});

<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/select2.min.css" rel="stylesheet" />

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/select2.min.js"></script>


<select class="js-example-basic-multiple custom-select mr-sm-2" name="filters_update[]" multiple="multiple" id="filters_cat_update">


  <option data-id="2" value="1,Color">Color</option>

  <option data-id="7" value="2,Color2">Color2</option>

  <option data-id="77" value="3,Color3">Color3</option>

</select>


查看完整回答
反對 回復 2023-07-01
  • 1 回答
  • 0 關注
  • 205 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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