0

请查看以下代码片段:

首先,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/

4

1 回答 1

1

更好地使用这个:

    if(mysql_num_rows($result) > 0){
        $objResponse->assign('subDiv', 'innerHTML', $html);
    }else{
        $objResponse->assign('subDiv', 'innerHTML', '');
    }

IE 显示 null 因为 $html2 = NULL ......最好用 $html2 = " " 或类似的东西试试;)

萨卢多斯。

于 2013-02-19T21:18:05.930 回答