Javascript 引导数据id未传递值
在我的代码中,我有Javascript 引导数据id未传递值,javascript,php,jquery,twitter-bootstrap,Javascript,Php,Jquery,Twitter Bootstrap,在我的代码中,我有 <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> 模态很好地弹
<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>
模态很好地弹出,只是没有传递数据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>
$(文档).ready(函数(){
$(“#liveprices”).load(“liveprices.php”);
setInterval(函数(){
$(“#liveprices”).load(“liveprices.php”);
}, 5000);
});
这里讨论的函数加载在文档的末尾,因为您使用的是
文档。在('click')
上,$(this)
可能有些混乱。我可能会尝试用$(event.target).最近('a#coin')
代替$(this)
,看看它是否有帮助:
$(document).on('click', 'a#coin', function(event) {
var val = $(event.target).closest('a#coin');
console.log(val);
});
由于您使用的是
document.on('click')
,因此$(this)
可能有些混乱。我可能会尝试用$(event.target).最近('a#coin')
代替$(this)
,看看它是否有帮助:
$(document).on('click', 'a#coin', function(event) {
var val = $(event.target).closest('a#coin');
console.log(val);
});
说bootstrap.min.js需要Jquery,尽管Jquery是正确加载的 在上面 默认情况下,引导使用jqueryslim版本。Slim版本没有
$.ajax
和相关功能。使用jQuery完整版本
使用这个jQuery
<script
src="https://code.jquery.com/jquery-3.2.1.min.js"
integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4="
crossorigin="anonymous"></script>
说bootstrap.min.js需要Jquery,尽管Jquery是正确加载的 在上面 默认情况下,引导使用jqueryslim版本。Slim版本没有
$.ajax
和相关功能。使用jQuery完整版本
使用这个jQuery
<script
src="https://code.jquery.com/jquery-3.2.1.min.js"
integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4="
crossorigin="anonymous"></script>
在讨论了需求之后,我们得出结论,在这种情况下根本不需要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');
});
在讨论了需求之后,我们得出结论,在这种情况下根本不需要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');
});
我不确定这是否会有所不同,但jQuery有一个内置函数,用于访问
数据-*
属性<代码>$(this).data('id')它对我有效。我在alert.php中获得硬币价值。打开控制台并查找错误无更改:(说bootstrap.min.js需要Jquery,尽管Jquery是在itI的正上方加载的。我认为这里的代码没有任何问题。你能为你的bootstrap.min.js尝试一下吗?我不确定这是否会有什么不同,但Jquery有一个用于访问数据-*
属性的内置函数。$(this.data('id'))
它对我有效。我在alert.php中获得硬币价值。打开控制台并查找错误。请不要更改:(说bootstrap.min.js需要Jquery,尽管Jquery是在itI的正上方加载的。我认为这里的代码没有任何问题。你能为你的bootstrap.min.js尝试一下吗?获取未捕获的引用错误:ev不是在HtmlanchoreElement中定义的。(index.php:263)在HTMLDocument.dispatch(Jquery.js:4676)位于HTMLDocument.elemData.handle(jquery.js:4360)我在ev
和event
之间切换作为变量名。现在已修复。但请检查另一个发布的答案,看起来它可能与您的直接控制台错误有关。我更改了jQuery版本,现在什么都没有收到这些错误未捕获类型错误:在Function.jQuery.param()的Build.params()处非法调用在Function.jQuery.(匿名函数)[as post](htThis听起来确实与jQuery版本或脚本运行顺序有关。您可能需要发布更多显示这些详细信息的代码。获取未捕获引用错误:ev未在htmlanchoreElement中定义。(index.php:263)在HTMLDocument.dispatch(jquery.js:4676)在HTMLDocument.elemData.handle(jquery.js:4360)上我在ev
和event
之间切换作为变量名。现在已修复。但请检查另一个发布的答案,看起来它可能与您的直接控制台错误有关。我更改了jQuery版本,现在什么都没有收到这些错误未捕获类型错误:在Function.jQuery.param()的Build.params()处非法调用位于Function.jQuery.(匿名函数)[as post](这听起来确实与jquery版本或脚本的运行顺序有关。您可能需要发布更多显示这些详细信息的代码。已更改,尽管根据下面的回答,我在控制台中收到一个错误ev未在HtmlanchoreElement中定义。(index.php:263)这可能是另一个问题,你在第263行有什么?你能发布完整的代码吗?@chrisyatesh已更改,尽管根据下面的回答,我在控制台中收到一个错误ev未在HtmlanchoreElement中定义。(index.php:263)这可能是另一个问题,你在第263行有什么?你能发布完整的代码吗?@chrisyat对一个非常复杂的混乱的完美回答哈哈!谢谢对一个非常复杂的混乱的完美回答哈哈!谢谢