我有以下脚本用jq生成几个月的日期,我希望将回传数据传递给for
循环作为php中的条件,以便它可以准确填充选择框中的天数。
以下是根据年份和月份更改天数的方法
$('#mm').change(function () {
var mm = $(this).val();
var yy = $('#yy').val(); //get the year
var dd = days_in_month(mm, yy);
$.ajax({
type: "POST",
url: 'inc/callback/req_days_in_month.php',
data: {
days: dd,
},
success: function (data) {
//something to do to pass data to php...?
}
});
$('#dd').val(dd);
});
我希望$i<=31
替换来自ajax的回发值,
<select id="dd">
for($i=1; $i<=31; $i++){
echo '<option value="$i">$i</option>';
}
</select>
req_days_in_month.php:
<?php
$days = $_POST['days'];
echo $days;
?>
可以做到吗?
答案 0 :(得分:1)
我认为你不需要一些ajax调用来做到这一点。
$('#mm').change(function(){
var mm = $(this).val();
var yy = $('#yy').val(); //get the year
var dd = days_in_month(mm,yy);
$.ajax({
type: "POST",
url: 'inc/callback/req_days_in_month.php',
data: { days: dd, },
success: function(data){
//something to do to pass data to php...?
}
});
$('#dd').val(dd);
});
因为var dd = days_in_month(mm,yy);
可以得到否。天。
做类似
的事情$('#mm').change(function(){
var mm = $(this).val();
var yy = $('#yy').val(); //get the year
var dd = days_in_month(mm,yy);
var options = "";
for(var i = 1; i <= dd; i++){
options += "<option value='" + i + "'>" + i + "</option>";
}
$('#dd').html(options);
});
答案 1 :(得分:0)
$.ajax({
type: "POST",
url: 'inc/callback/req_days_in_month.php',
// data: { days: dd, }, change in
data: { days: dd }, // remove comma
success: function(data){
//something to do to pass data to php...?
}
});
参考 ajax
答案 2 :(得分:0)
如果您获得了javascript本身的天数,为什么要创建ajax请求并获得相同的结果?无论如何你可以这样做,
$.ajax({
type: "POST",
url: 'inc/callback/req_days_in_month.php',
data: { days: dd },
success: function(data){
//something to do to pass data to php...?
var days = data;
var html = '';
for(i=1;i<=days;i++)
{
html += '<option value="'+i+'">'+i+'</option>';
}
$('#id').html(html);
}
});
答案 3 :(得分:0)
试试这个
$.ajax({
type: "POST",
url: 'inc/callback/req_days_in_month.php',
data: { days: dd }, // remove comma after dd
success: function(data){
//something to do to pass data to php...?
var days = data;
var html = '';
for(i=1;i<=days;i++)
{
html += '<option value="'+i+'">'+i+'</option>';
}
$('#id').html(html);
}
});