2011-01-15 7 views
0

私は最後のことをプロジェクトに残しています。これは私の最初のWebアプリケーションだけでなく、Jquery、CSS、MVCを使った最初のアプリです。私はこれをどのように進めるべきかについて全く知らない。私がやろうとしています何Jqueryの条件、ウィンドウの位置、およびビューデータ。ああ、私!

がある:私のコントローラで

、廃棄物の項目が検証され、これらのものの一つが起こることができる結果に基づいています。検証が完了し、ViewData ["FailedWasteId"]を-9999に設定します。 ViewData ["FailedWasteId"]を0に設定する新しい廃棄アイテムと検証は成功しませんでした。その既存の廃棄アイテムと検証は合格しませんでした。これはViewData ["FailedWasteId"]を廃棄アイテムのIDに設定します。

検証が見えないのdivに(window.locationので)ページズーム、その後、合格しない場合は、このViewDataを[「FailedWasteIdが」]

<%=Html.Hidden("wFailId", int.Parse(ViewData["WasteFailID"].ToString()))%> 

を使用して、ページのロードに設定されている、目に見えないのdivを開きます私の意図はjqueryのこの貧弱な試みではっきりしていることをうまくいけばよい。

新しい廃棄物のdiv要素であり、既存の項目のdivタグが動的に生成される(この私は作品を知っている)「>

だからここに私の質問は、私もデータを正しく構文解析するために得るカント?助け...で、でも私も条件文が仕事を得ることができます。そして、これはポスト後に発生するので、私はまだロードありえないスクリプトとして、デバッガを通じて私のステップを助けるために放火犯を得るカント。

 $(document).ready(function() { 
      var wasteId = parseInt($('#wFailId').text()); 

      if (wasteId == -9999) { 
       //No Issue 
      } 
      else if (wasteId < 0) { 
       //Waste not saved to database 
      } 
      else if (wasteId == 0) { 
       //New Waste 
       window.location = '#0'; 
       $('.editPanel').hide(); 
       $('#GeneratedWasteGrid:first').before(newRow); 
       $('.editPanel').appendTo('#edit-panel-row').slideDown('slow'); 
      } 
      else if (wasteId > 0) { 
       //Waste saved to database 
      } 
     }); 
+0

私は毎回、ニッケルがあればいいのに誰かが「A、B、C oh my!」と投稿しました。このサイトで – DJTripleThreat

+0

@DJTripleThreat LOL –

+0

jaweryを使って作業を簡単にするにはhttp://awesome.codeplex.com/を試すことができます – Omu

答えて

3
var wasteId = parseInt($('#wFailId').text()); 

この行が間違っています。 attempts to get the text contents内にはinput要素があり、内容が存在しないため空文字列になります(たとえば "Hello" <span id="foo">Hello</span>)。これにより、parseInt()は値NaN(数値ではありません)を返し、条件のすべてが失敗し、JavaScript例外がスローされることはありません。

あなたの代わりを探している値が.val()を使用して検索可能、要素の属性valueとして存在します。

var wasteId = parseInt($('#wFailId').val(), 10); // or use: 
var wasteId = +$('#wFailId').val(); 

(JavaScriptののunary plus operatorは私が必要な場合は数値にキャストするために使用するものですでなおそうでない場合010 8進数として解釈されているため、どのような場合には、ベース/基数10を指定せずにparseInt()を使うのは悪い習慣です:8 10進数)

関連する問題