2017-11-22 6 views
0

ここに問題があります。 MVC部分ページを受け取ったサーバーにコールバックしています。それは成功して機能しています。しかし、私は特定の要素を反復処理した後に機能呼んでいる:このインサイド

$(".tool-fields.in div.collapse, .common-fields div.collapse").each(...) 

が、私はまた、偉大な作業である特定の属性(DATA-使用したカスタム1)をチェックしていますが、しかしながら;イテレータは決して終了しません。エラーメッセージは表示されず、プログラムは停止しません。それはちょうど終わる。ここで

は、ここではその中で呼び出された関数だ " IsDataYesNoHide" イテレータ

function HideShow() { 
    $(".tool-fields.in div.collapse, .common-fields div.collapse").each(function() { 


    if (IsDataYesNoHide(this)) { 

     $(this).collapse("show"); 

    } 
    else 
     $(this).collapse("hide"); 
    }); 

    alert("test"); 
} 

を持つ関数です:

function IsDataYesNoHide(element) { 
    var $element = $(element); 
    var datayesnohide = $element.attr("data-yes-no-hide"); 
    if (datayesnohide !== undefined) { 
     var array = datayesnohide.split(";"); 
     var returnAnswer = true; 

     for (var i in array) { 
      var answer = array[i].split("=")[1]; 

      returnAnswer = returnAnswer && (answer.toLowerCase() === "true"); 

     } 
     return returnAnswer; 
    } 
    else { 
     return false; 
    } 


} 

これは属性は

data-yes-no-hide="pKanban_Val=true;pTwoBoxSystem_Val=true;" 
を表示されます方法です

EDIT:リクエストごとにjquery $があります。しばらくの間

$.post(path + conPath + '/GrabDetails', $.param({ data: dataArr }, true), function (data) { 
     ToggleLoader(false); //Page load finished so the spinner should stop 

     if (data !== "") { //if we got anything back of if there wasn't a ghost record 
      $container.find(".container").first().append(data); //add the content 
      var $changes = $("#Changes"); //grab the changes 
      var $details = $("#details"); //grab the current 

      SplitPage($container, $details, $changes); //Just CSS changes 

      MoveApproveReject($changes); //Moves buttons to the left of the screen 
      MarkAsDifferent($changes, $details) //Adds the data- attribute and colors differences 


     } 
     else { 
      $(".Details .modal-content").removeClass("extra-wide"); //Normal page 
      $(".Details input[type=radio]").each(function() { 
       CheckOptionalFields(this); 
      }); 
     } 

     HideShow(); //Hide or show fields by business logic 
    }); 

を投稿し、私はjqueryの崩壊が起こっていたことを見せてくれた破壊が、簡単なalert('test')を入れていたと思いました。それは決して終わらなかった。

jqueryポストバックから特定のコールバック関数を呼び出すことができる時間はありますか?私はモーダルビューですべてをロードしています。これは「ああ、おそらくjqueryは2回含まれています」と示していますが、私は既に他のものの問題を抱えていました。インクルードの場合と同じように、アプリ全体には1回しかなく、レイアウトはメインページにのみ適用されます。

私はあらゆる可能性があります。

ありがとうございます!

〜ブランドン

+0

投稿リクエストのコードも追加する必要があります。 –

+0

ありがとう、ムハンマド。私は先に進んで更新しました。 – Memedon

答えて

0

は、問題を発見しました。私は時々不定に設定されていた変数を持っていました。なぜ私はエラーメッセージがないのか分かりません。

関連する問題