javascript
  • jquery
  • ruby-on-rails
  • 2011-02-02 6 views 0 likes 
    0

    この部分は動作します:Ruby on Rails:selectの値をプログラムで変更するときにobserver_fieldを呼び出す必要があります。どうすればいいですか?

    <%= observe_field "dbe_filter", :url => {:action => :filter_action, :only_path => :false }, 
            :frequency => 0.5, 
            :with => "'value='+encodeURIComponent(value)"%> 
    

    私のjavascript:この部分は何が起こっているかの

    <script type="text/javascript"> 
        $j("#dbe_filter").change(function(){ 
        $stored_filter = $j(this).val(); 
        }); 
        $j("#dbe_filter").val($stored_filter); 
        // what I want is something right here that will invoke the above 
        // observe_field helper. 
        // Is there a way with jQuery (i'm using noConflict) to invoke a .change 
        // action? 
    
        // current, non-working solution (node that the alert pops up): 
        alert($stored_filter + " " + $j("#dbe_filter").val()); 
        $j("#dbe_filter").trigger('change'); 
        // assuming a solution works, I should see a proper XHR request in the webkit inspector. 
    
    </script> 
    

    詳細作品:私はダウン異なる選択のドロップを持っているが、そのページの一部を再レンダリング再レンダリング時に、新しいjavascriptがすべて実行されます(なぜ私の警告メッセージテストが動作するのか)。しかし、.triggerがなぜそうでないのか分かりません。変更をトリガする必要があるので、グラフの別の部分がトリガされてグラフが描画されます。

    私はJavaScriptを使用しての選択の値を変更すると

    .trigger作品「変更」トリガーをトリップしないことに驚いています。 observe_fieldヘルパーの後に配置するだけです。 •この問題は解決されました

    答えて

    0

    triggerを使用できます。

     
    $j("#dbe_filter").trigger('change'); 
    

    私はそれが動作するかどうかテストするには、このコードを使用することをお勧めします:

     
    
    <select id='dbe_filter'> 
        <option value='NEW'>NEW</option> 
        <option value='UPDATED'>UPDATED</option> 
    </select> 
    
    <script type="text/javascript"> 
        $("#dbe_filter").change(function(){ 
        $(this).val("UPDATED"); 
        }); 
    
        $("#dbe_filter").trigger('change'); 
    
    </script> 
    
    
    +0

    @Pan Thomakosを、そう、WebKitのからの検査官は、それが動作していないと述べています。私は警告メッセージのためにコードの領域が機能していることを知っています。それを質問に追加します。 – NullVoxPopuli

    +0

    どのようなエラーメッセージが表示されますか? –

    +0

    テストコードが動作するようになったので、変更イベントをトリガーすることで問題が発生していない可能性があります。 –

    関連する問題