你好,我有选择框,我想从过去4,6周选择新闻,并根据提交按钮相应地显示新闻。我使用以下代码来创建jquery,ajax和尝试传递值到php。但是我不知道当我从选择框中选择并点击提交按钮时,什么都不会显示。我想我正在做一些严重的错误,无法与php和jquery,ajax正确通信。这是Jsfiddle demo。谢谢下面是我的代码:
dashboard.php
if($param['aktion'] == 'get-widget-news-edit')
{
if(isset($_POST['saveId']))
{
if(($_POST['news'])==4){
echo "You have selected news for last 4 weeks";
}
if(($_POST['news'])==6){
echo "You have selected news for last 6 weeks";
}
}
$html = '<table width="538" cellspacing="0" cellpadding="0" border="0" >
<tr>
<td>
<div>'.CreateRegister($page['register-news']).'</div>
'.CreateMessage().'
<div class="cont-liste-verlauf register">
<div class="tab-content">
<div id="tab1" class="tab" style="display:block">
<table id="news">
<form name="UserInformationForm" method="POST" >
<select name="news">
<option value="4" '. (($_POST['news']=="4") ? "selected=selected" : "" ) .'>Show news from last 4 weeks</option>
<option value="6" '. (($_POST['news']=="6") ? "selected=selected" : "") .'>Show news from last 6 weeks</option>
</select>
<br/><br/>
<input type="Submit" name="saveId" id="saveId">
</form>
</table>
</div>
</div>
</td>
</tr>
</table>';
$return = array(
'status' => 1,
'html' => $html
);
echo json_encode($return);
die();
}
dashboard.js
function getNewsWidgetEdit()
{
$.ajax({
type: "POST",
url: "ajax/dashboard.php",
dataType : 'json',
cache: false,
data: {'aktion' : 'get-widget-news-edit'},
success: function(data){
$('#news').html(data.html);
}
});
}
$('#news .butt-rahmen').live('click', function(){
if($(this).attr('id') == 'saveId')
getNewsWidgetEdit();
});
你不是从你的php发送json,所以改变数据类型为html并附加原始数据:
dataType : 'html',
cache: false,
data: {'aktion' : 'get-widget-news-edit'},
success: function(data){
$('#news').html(data);
}
或更改php发送json:
if(($_POST['news'])==4){
header('Content-Type: application/json');
echo json_encode(array('html'=>'You have selected news for last 4 weeks'));
exit();