簡體   English   中英

Bootstrap數據ID未傳遞值

[英]Bootstrap data-id not passing value

在我的代碼中

<script>
    $(document).on('click', 'a#coin', function(){
    // get month
    var val = $(this).attr('data-id');

    $.post('alert.php', {coin: val}, function(data){
        console.log(data);
    });
});
</script>   

這是模態的數據切換鏈接

<a id="coin" href="#" data-id="BTC" data-toggle="modal" data-target="#alertmodal"><i class="fa fa-bell fa-lg" title="Set Alert for BTC" style="color:orangered"></i></a>

在alert.php中,我只是

$coin = $_POST['coin'];
echo $coin;

模態彈出很好它只是不通過data-id值不確定我在做什么錯

添加了更多代碼

<?php
require('alert.php');
?>
   <html><head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link href="css.css" rel="stylesheet" type="text/css">
    <script src="https://code.jquery.com/jquery-3.2.1.js"></script>
    <script src="http://netdna.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
    <link href="http://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet" type="text/css">
    <script>
    $(document).ready(function(){
        $("#liveprices").load("liveprices.php");
        setInterval(function() {
            $("#liveprices").load("liveprices.php");
        }, 5000);
    });
   </script>

  </head><body>

此處討論的功能在文檔末尾加載

說bootstrap.min.js需要Jquery,盡管jquery在它的上方加載

默認情況下,引導程序使用jQuery slim版本。 Slim版本沒有$.ajax和相關功能。 使用jQuery完整版。

使用這個jQuery

<script
  src="https://code.jquery.com/jquery-3.2.1.min.js"
  integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4="
  crossorigin="anonymous"></script>

以下是精簡版的注釋,其中刪除了功能

/*! jQuery v3.2.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/parseXML,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-event/ajax,-effects,-effects/Tween,-effects/animatedSelector | (c) JS Foundation and other contributors | jquery.org/license */

討論了有關需求的聊天之后,我們得出結論,在這種情況下完全不需要PHP,而簡單的jQuery就能解決問題:

要求

如果查看此屏幕截圖,您將看到帶有警報圖標的硬幣名稱列表。單擊相關警報圖標時,我希望它彈出一個模態,然后分配並回顯一個變量值(將是硬幣)。 BTC等

稍后將添加一個表單,理想情況下該表單會將數據添加到准備提交的隱藏字段中

解決方法(一種方法):

JS菲德爾

相關代碼更改:

$(document).on('click', 'a.coin', function(){
    var val = $(this).attr('data-id'), modal = $('div#test-modal');
    console.log(val);
    modal.find('.modal-title').html('Get alerts for ' + val);

    modal.find('.modal-body .alert-notification').html('Get alert notifications when ' + val + ' breaks strong support / resistance lines');

    modal.modal('show');
});

由於您正在使用document.on('click') ,因此$(this)可能會有些混亂。 我可以嘗試用$(event.target).closest('a#coin')代替$(this) ,看看是否有幫助:

$(document).on('click', 'a#coin', function(event) {
    var val = $(event.target).closest('a#coin');
    console.log(val);
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM