[英]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等
稍后將添加一個表單,理想情況下該表單會將數據添加到准備提交的隱藏字段中
解決方法(一種方法):
相關代碼更改:
$(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.