2009-11-03 18 views
5

私はドロップダウン(オプションとしてPaid and unpaid)とボタンを備えた部分的なビューを持っています。 ユーザーがページのサブメニューでPaid/Unpaid List linkをクリックすると、jquery loadを使用してこの部分的なビューをロードしています。jqueryダイアログの問題

私がドロップダウンメニューの[支払済み]を選択してボタンをクリックすると、jqueryダイアログに支払済顧客のリストが表示され、未払いを選択してボタンをクリックすると、未払いの顧客がjqueryダイアログに表示されます。私は、ダイアログの次のコードを書いています

:初めて

$('#customers').dialog({ 
      bgiframe: true, 
      autoOpen: false, 
      open: function(event, ui) { 
       //populate table 
       var p_option = $('#d_PaidUnPaid option:selected').val(); 
       if (p_option == 'PAID') { 
        $("#customercontent").html(''); 
        //$("#customercontent").load("/Customer/Paid"); 
       } 
       else if (p_option == 'UNPAID') { 
        $("#customercontent").html(''); 
        //$("#customercontent").load("/Customer/Unpaid"); 
       } 
      }, 
      close: function(event, ui) { 
       //do nothing 
      }, 
      height: 500, 
      width: 550, 
      modal: true 
     }); 

を、私はjqueryのダイアログに正しくリストを取得していますが、私は再びPaid/Unpaid List linkをクリックし、ドロップダウンに未払い選択すると、ボタンをクリックすると、jveryダイアログにpreviosがロードされたコンテンツが表示されます。

私はここで間違っていますか?

答えて

4

jQuery AJAXにno-cachingオプションを追加してみてください。キャッシュされた結果が常に表示されるload()関数(およびIE)に問題がありました。

$('#customers').empty().remove(); 

例:

open: function(event, ui) { 
       //populate table 
       var p_option = $('#d_PaidUnPaid option:selected').val(); 
       if (p_option == 'PAID') { 
        $("#customercontent").html(''); 
        //$("#customercontent").load("/Customer/Paid"); 
       } 
       else if (p_option == 'UNPAID') { 
        $("#customercontent").html(''); 
        //$("#customercontent").load("/Customer/Unpaid"); 
       } 

       $('#customers').empty().remove(); 

      }, 
+0

ここでこの行を追加する必要がありますか?部分表示をロードする前に? - – Prasad

+0

でも、$( '#customers')の直前でもダイアログ({...で十分です。もしjavascriptのブートストラップファイルがあれば、それは通常どこに行くのでしょうか? –

+0

私はボタンのクリックイベントダイアログが表示されますが、まだ問題が発生しています – Prasad

1

が開いた後にこれを追加してみないすべてのjQueryのAJAX要求の設定を変更するには 正解。私は同じ問題を抱えており、私はそれに続くajax設定で解決しました。

open: function() { 
     jQuery.ajaxSetup({ 
      cache: false 
     }); 
     //populate table or do what you want... 
} 
3

私が思い付くには遅すぎイムないと思い

$.ajaxSetup({cache: false}); 
+0

これは私のために働いた...これは楽しい追跡ではなかった。 –

関連する問題