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 関数がelseand に割り当て$html2られると、ユーザーには何も表示されないことが予想されます。ほとんどのブラウザでは問題なく、完全に機能します。残念ながら、インターネット エクスプローラー (確認できる 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', '');
    }

$html2 = NULL であるため、IE は null を表示しています。

サルドス。

于 2013-02-19T21:18:05.930 に答える