2017-11-27 14 views
0

おはよう、パーシャルビューが呼び出されたときにJavaScriptが機能しない

部分ビューを読み込むと、読み込まれたコードでJavaScript機能が動作しません。インデックスに戻すと、すべてが魅力のように機能します。私はたくさんの解決策を試してみましたが、そのうちのどれもうまくいきませんでした。あるいは、私はあまり理解しませんでした。

私はボタンクリック時に部分的な表示をロードするモーダル(インデックス)を持っています。すべてがインテントとして機能しますが、パーシャルビューのJSは機能しません。私は何かが不足していることを知っているが、私は何を理解することができません。私は部分的なビューを呼び出していますどのように

機能:

$("#coinflipCreateBtn").click(function() { 
$.ajax({ 
    type: "GET", 
    url: "/coinflip/load-inventory", 
    success: function (d) { 
     debugger; 
     $('#coinflip-inventory-userId').html(d); 
    }, 
    error: function (exception) { 
     alert("Exception:" + exception); 
    } 
}); 
}); 

と部分ビュー上で動作すると仮定機能:

var x = document.getElementsByClassName('col-item'); 

$(x).on('click', function() { 
    var assetId = $(this).data('assetid'); 

    $(this).toggleClass('selected'); 

    checkValueIfExist(assetsArray, assetId); 
    buttonVisibility(); 
}); 

が、私は違っそれを呼び出す必要がありますか? JSを何とか部分的にまたは?すべてのヘルプは...

乾杯

+0

イベントが存在する前にバインドするためです。 – epascarello

答えて

1

新しいHTMLにロードする前に実行された要素にイベントをバインドするコードを高く評価しています。すべての要素をclassnameで収集し、clickイベントにバインドします。明らかに、まだ存在していないHTMLは要素のコレクションの一部にはならないので、それらに登録されたクリックイベントはありません。

$.html(d)の部分の後に呼び出す関数にイベントをバインドするコードをリファクタリングすることができます。そのコードをもう一度実行した後、あなたが望むように動作するはずです。

関連する問題