2016-04-11 6 views
1

phpページで正しく動作し、必要に応じて出力しますが、ajax呼び出しの後にデフォルトCSSとjavascriptプロパティを返しません。入力タイプを選択し、続いてPHPのajax呼び出し後にCSS、Javaスクリプトが正常に動作しない

iはAJAX呼び出し

<script> 
function ajax_call(str) { 
    if (window.XMLHttpRequest) { 
     // code for IE7+, Firefox, Chrome, Opera, Safari 
     xmlhttp = new XMLHttpRequest(); 
    } else { 
     // code for IE6, IE5 
     xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    xmlhttp.onreadystatechange = function() { 
     if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 
      document.getElementById("and").innerHTML = xmlhttp.responseText; 
     } 
    }; 
    xmlhttp.open("POST","ajaxpage.php?q="+str,true); 
    xmlhttp.send(); 
} 
</script> 

それが出力にajaxpage.php戻っているために使用しているコードで、今私が選びだしを使用しているajaxpage.phpページでは、1つのドロップダウンを持っています.css、choosen.js、multiselect.css、multiselect.jsなどがありますが、このドロップダウンは正しく機能していませんし、上記のCSSやjsは正しく動作していません私はこの問題を解決するために私を助けてください。上記のajaxページコールのために、私はメインページにすべてのCSSとjsを適用しました。

+0

以下のコードをテストしました。純粋なxhrの代わりにajax? xmlhttpを使用してあなたの要件ですか?もしあなたが[$ .ajax](http://api.jquery.com/jquery.ajax/)を使うことができなければ、第二に動的要素の代理人を使用していることを確認してください。アヤックス –

+0

'document.getElementById("と ")の後に' multi-select'ウィジェットを初期化します。innerHTML = xmlhttp.responseText; ' – Rayon

+0

ここで、choosen.css、choosen.js、multiselect.jsは含まれていますか?彼らは選択された要素が動作するように任意の初期化コードが必要です –

答えて

0

あなたは私はあなたがクリック/変更イベントにで行うことができます代わりに、関数名を使用していた下$.ajax

を使用して試すことができます。 theResponse場合は、ajaxpage.phpの出力は、選択ボックスそのものであるあなたがあなたの親ページにdivの中にそれを表示することができます

注: didntのは

あなたは$を使用していない理由を
<script src="//code.jquery.com/jquery-1.11.0.min.js"></script> 
<script src="//code.jquery.com/jquery-migrate-1.2.1.min.js"></script> 

<script type="text/javascript"> 
$(document).ready(function(){ 

    function ajax_call(str) { 

     $.ajax({ 
       type: "POST", 
       url: "ajaxpage.php", 
       data: { q:str}, 
       success: function(theResponse) { 

        // Output from ajaxpage.php 
        alert(theResponse); // comment this 

        } 
      }); 
    } 
});     
</script> 
-1

ajaxリクエストを作成するページに.cssファイルと.jsファイルを含めます。返すものではありません。また、ajaxリクエストの後でスクリプトの影響を受けるオブジェクトを初期化する。なぜなら、問題の要素のhtmlがロードされないからである。また、あなたはまだDOMに存在しない要素に機能をバインドする.onメソッドを使用することができます - あなたは、AJAX後に再度選びだしintializeする必要が.on方法Attaching click event to a JQuery object not yet added to the DOM

1

詳細はこちらをチェックし、完全かつコンテンツですあなたのHTMLページにロードされています。なぜなら、選択されたhtmlがDOMになかったからです。

関連する問題