5

私は、ページからhtmlを取得して、それをメインWebページに挿入できるようにする必要があるプロジェクトに取り組んでいます。ChromeとFirefoxで完全に機能しますが、IE9では失敗します。これが私が使用するコードの一部です。

   if (!element.data('cache')) {

       $('#contentHolder').html('<img src="ajax_preloader.gif" width="64" height="64" class="preloader" />');

      $.get(element.data('page'), function (msg) {
         $('#contentHolder').html(msg);

         /* After page was received, add it to the cache for the current hyperlink: */
            element.data('cache', msg);
            setTimeout("checkonbox()", 100);
        });
    }
    else {
         $('#contentHolder').html(element.data('cache'));
        setTimeout("checkonbox()", 100);
    }

挿入されるHTMLは

<table style="width:400px; height: 388px; text-align: left;" align="left">
<tr>
<td><input id="Checkbox0" type="checkbox"  onclick="changebuttons();" checked="true">  
Exclusive.</input></td>
</tr>
</table>

さらに、いくつかのオプションボタン。

すべてが完璧に表示されますが、チェックボックスまたはオプションボタンをクリックできません。

4

4 に答える 4

0

domに動的に追加されるものはすべて、ページにロードされた後にアクションをバインドする必要があります。AJAXを介してコードをドロップするだけでは、コードは実行されません。

関数でこれを実行してみてください。

$.get(element.data('page'), function (msg) {
         $('#contentHolder').html(msg);

         //this will bind your input field  via javascript
         $('input#Checkbox0').click(changebuttons);

         /* After page was received, add it to the cache for the current hyperlink: */
            element.data('cache', msg);
            setTimeout("checkonbox()", 100);
});
于 2012-05-27T08:42:41.453 に答える
0

あなたの質問には完全なコードが表示されません。しかし、イニシャライザ内にコードを入れていないと仮定しています:

    $(function () {
      // your jQuery code here.
    });

これは、ブラウザが要素に関連付けられたイベントを初期化するのに役立ちます。これを試して、変更が発生するかどうかを確認してください。

また、javascript にエラーがある場合は排除してみてください。利用可能なブラウザでデバッグしてみてください。私が今まで出会った中で最高の JavaScript デバッガーは、Firefox アドオンであるFireBugです。

于 2012-05-24T04:33:58.170 に答える
0

そのように書かれた入力タグを見たことがありません。私はまだ朝のコーヒーを飲んでいませんが、それが自動的に終了するはずだとかなり確信しています。

アイデアは「独占」を作ることだったと思います。この場合、入力の周りにラベルタグが必要です。次のようになります。

<label for="Checkbox0"><input id="Checkbox0" type="checkbox"  onclick="changebuttons();" checked="true" />Exclusive.</label>

回転させてください。

于 2012-05-24T05:34:22.807 に答える
0

交換

element  

$(element)  

それが動作します。

于 2012-09-07T11:16:52.037 に答える