请查看以下代码片段:
首先,Javascript调用:
function getNewSelect(property_id){
xajax_getSelectDropDown(unique_id);
$(".chzn-select").chosen();
}
接下来,PHP XAJAX函数:
function getSelectDropDown($unique_id){
//CODE ABOVE THIS POINT HAS BEEN REMOVED, IT IS IRRELEVENT FOR THIS EXAMPLE
//Code for if no matches were found:
$html2 = NULL;
$objResponse = new xajaxResponse();
if(mysql_num_rows($result) > 0){
$objResponse->assign('subDiv', 'innerHTML', $html);
}else{
$objResponse->assign('subDiv', 'innerHTML', $html2);
}
$objResponse->script("$('.chzn-select-ajax').chosen();");
return $objResponse;
}
最后这是HTML代码:
<div id="subDiv"></div>
现在,当上面的PHP函数进入else
并分配$html2
时 - 我希望不向用户显示任何内容。在大多数浏览器上,这很好,它完美地运行。不幸的是在Internet Explorer(IE 9我可以确认,我无法测试其他版本),它实际显示DIV调用的以下内容:
空
如果找到了结果并且它没有处理else
,那么它在所有浏览器上都能正常工作,并按预期显示新的下拉列表。
我该怎么做才能解决这个问题?这是IE的已知问题吗?感谢。
我想添加,所以没有混淆,CHZN调用只是为下拉列表添加样式,如下所示:http://harvesthq.github.com/chosen/
答案 0 :(得分:1)
更好地利用这个:
if(mysql_num_rows($result) > 0){
$objResponse->assign('subDiv', 'innerHTML', $html);
}else{
$objResponse->assign('subDiv', 'innerHTML', '');
}
IE显示为null,因为$ html2 = NULL ......最好用$ html2 =“”或类似的东西试试;)
Saludos。