2012-05-11 10 views
0

jqueryプラグインtablesorterを使用していますが、私のグリッドがインラインエディションを使用していて、エディションがアクティブな場合、ユーザーが列を並べ替えることを禁止します。特定の条件が満たされていれば並べ替えをキャンセルします

特定の条件で並べ替えを禁止するにはどうすればよいですか?私はイベントsortStartが助けになると思ったが、ソートを取り消す仕組みがない。

+0

falseを返そうとしましたか?これは、アクションをキャンセルするためのかなり標準です。 –

+0

@ThinkingSites:はい、私は最初のシュートとしてそれを試みました – StackOverflower

+0

はそれのための手伝いを持っていましたか? – naveen

答えて

1

あなたの問題に関する十分な情報がないと、インライン編集が進行中のときにtrueに設定されるフラグ変数(ブール値)を定義することが最も安全な方法であると言えるでしょう。編集が終了するとfalseに設定されます。次に、flag変数がtrueの場合、ソートイベントを再コードしてfalseを返すことができます。ここで

UPDATE

はソリューションです:http://tablesorter.com/docs/example-options-headers.html。この例のコードを使用して並べ替えを無効にすることができます。

+0

と私はどのようにtablesorterプラグインでそれを行うことができましたか?これを行うメカニズムはありません。 – StackOverflower

+0

私はその文書をチェックアウトさせてください...私がそれをしている間、簡単にそのイベントを変更できるかどうかを確認できます – Shomz

+0

そこに、他の答えのコードがあります。 – Shomz

1

あなたが編集しているときは、truelockedを設定します。

$(document).ready(function() { 
    $("table").tablesorter(); 
    //assign the sortStart event 
    $("table").bind("sortStart",function() { 
     if(locked) return false; 
    }); 
}); 

私は分でこれをテストします。

+1

falseを返すと、残念ながら並べ替えがキャンセルされません。それが私が試した最初のことでした – StackOverflower

関連する問題