1
私はAjaxを通して2つのカレンダー値を渡しました。問題は、日付を選択する2回目の試行の後にのみ、日付値が渡され、最初の試行値を渡していることです!Ajaxで日付値を渡す
例として現在の結果:
最初の試行で私が選択されます:2017年3月1日
selectvaluedsの= ''
第二の試行では、私が選択することになります。 2015-05-30
「= 2017-03-01」
重要: 計算のために私はまず#startにcalendarの値をコピーしてから#startをAjaxを通してPHPコードに渡す必要があります。 Javascriptを:
$('#calendar').change(function() {
$('#start').val($(this).val());
});
$('#calendar’).change(function(){
var selectvalueds = $('#start').val();
Unit_id.html('<option value="">Loading...</option>');
if (selectvalueds == '')
{Unit_id.html(initial_Unit_html);}
else
{
$.ajax({
url: 'index.php',
data:'option=com_myapp&task=getUnitsHTML&dsvalue='+selectvalueds,
success: function(output) {
Unit_id.html(output);
},
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status + ' ' + thrownError);
}
});
}
});
PHP:
public function getUnitsHTML() {
$jinput = JFactory::getApplication()->input;
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$sdate = date_create($jinput->get ('dsvalue'));
$mystartdate = date_format($sdate, "Y-m-d");
echo '<div>'.$mystartdate.'</div></br>';
}