我已经绑定了几个小时来获取每个按钮的值 value="oneyearanalysis" 和 value="oneyearanalysis",当我按下它们时,我尝试使用 ajax。我想我很接近但我没有输出 GetData 但我在我的 console.log(clikYear); 中做了。希望你能帮我
最好的问候
Index.php
<div class="container" style="margin-top: 50px;">
<select name="button" id="button">
<option value="">Select...</option>
<option value="oneyearanalysis">1 year analyse</option>
<option value="fiveyearanalysis">5 year analyse</option>
</select>
</div>
$(document).ready(function(){
$("#button").on("change",function() {
var clikYear = $(this).val();
console.log(clikYear);
if (clikYear !== "") {
var getTableCall2 = $.ajax({
url : "GetData.php",
type:"POST",
cache:false,
data:{clikYear:clikYear},
})
}
});
getTableCall2.done(function(data){
console.log(data);
console.log(getTableCall2);
console.log(clikYear);
})
GetData.php
if(isset($_POST['clikYear']))
{
$year= $_POST['clikYear'];
}
$yearOfChoice = $year;
答案 0 :(得分:1)
您选择的 ID 是“按钮”,但您使用的是类选择器。尝试更换 . # 在按钮前面
HTML
<select id="button">
<option value="">Select...</option>
<option value="oneyearanalysis">1 year analyse</option>
<option value="fiveyearanalysis">5 year analyse</option>
</select>
JQuery
$("#button").on("change", function () {
var clikYear = $(this).val();
console.log(clikYear);
if (clikYear !== "") {
$.ajax({
url: "GetData.php",
type: "POST",
cache: false,
data: { clikYear: clikYear },
})
}
});
答案 1 :(得分:1)
你已经很接近让它发挥作用了。如果您应用下面的简单建议,您将来应该可以避免这种麻烦。
DO
变量是在 getTableCall2
select
上声明的。但是在尝试应用 change
承诺处理程序时在此之前“使用过”。.done()
处理程序(未执行)
change
ReferenceError: getTableCall2 未定义。
$(document).ready(function(){
$("#button").on("change",function() {
var clikYear = $(this).val();
console.log(clikYear);
if (clikYear !== "") {
var getTableCall2 = $.ajax({
url : "GetData.php",
type:"POST",
cache:false,
data:{clikYear:clikYear},
})
}
});
getTableCall2.done(function(data){
console.log(data);
console.log(getTableCall2);
console.log(clikYear);
})
和 class
命名上更具创意。id
用于 {{1} } 只会导致混乱。您可以使用您想要的名称。让它有意义!我敢肯定,您在现实生活中谈论 .button
时不会使用 <select>
一词...所以这里有一些应该起作用的东西:
door
为了测试它,确保 window
在两种情况下都输出一些东西:
$(document).ready(function(){
$("#analysis_term").on("change",function() {
var clikYear = $(this).val();
console.log(clikYear);
if (clikYear !== "") {
var getTableCall2 = $.ajax({
url : "GetData.php",
type:"POST",
cache:false,
data:{clikYear:clikYear},
})
getTableCall2.done(function(data){
console.log(data);
})
}
});
});