我需要帮助!我有一个范围输入:
<input type="range" name="set_workers" class="set_workers" id="set_workers" min="0" max="10">
<input type="submit">
我有一个在页面加载时运行的ajax脚本获取一些值。其中一个值应在最大范围内输出。所以我想要一个具有动态最大值的范围输入。有没有办法做到这一点?我应该在php中回显一个范围,将其置于ajax响应中吗? 这是我的ajax:
window.onload = function() {
var current_building = $('#building_name').val();
$.ajax(
{type: 'post',
url: '../account_handle/get_cost_upgrade.php',
data: {
building: current_building,
},
success: function (val){
$('#display_cost').html(val.test1);
$("#set_workers").attr("max", val.test2);
}
});
}
和php代码:
$sql = "SELECT * FROM $buildcost WHERE lvl = '$lvl'";
$result = mysqli_query($conn,$sql);
$row = mysqli_fetch_assoc($result);
$max_w = $row['max_w'];
echo json_encode(array(
"test1" => "doesn t matter",
"test2" =>
"$max_w"
));
我从php中删除了一些无用的部分,php不是问题,正在工作,同样的json,但我不知道如何将该值放入范围的最大值。 谢谢大家!
答案 0 :(得分:1)
是的,您应该通过php中的echo
绝对检索该最大范围值,然后将该值传递到输入的max属性中。像这样的东西可以解决这个问题。
window.onload = function() {
var current_building = $('#building_name').val();
$.ajax(
{type: 'post',
url: '../account_handle/get_cost_upgrade.php',
data: {
building: current_building,
},
success: function (response){
$('#display_cost').html(response);
//This line will set the "max" attribute to whatever you respond with in your PHP,
//although please note how you access that data depends on how you
//format it in your PHP
$("#workers").attr("max", response.max)
//Access the JSON object's value via it's key, like below
console.log(response.test1);
//or
console.log(response.test2);
}
});
}
然而 - 您需要修改您的响应,以便您可以在ajax成功函数中访问它。您如何访问它将取决于您如何格式化PHP响应。如果您发布PHP代码,很乐意提供帮助。