2011-01-31 13 views
0

ショッピングカートシステムに一連のdivがあるページがあります。それぞれは製品で、チェックボックスをオンにすると、利用可能なオプションやフォーム提出の前に承認される確認チェックボックスがある場合は、ボタンを隠したままにして、そのチェックボックスがある場合は別のチェックボックスでdivを表示します次にボタンを表示します。 各divのshow hideが正しく動作しています(既存のコード)ので、その関数内でonclickイベントのために呼び出される関数を作成しようとしています。jquery、ネストされたdiv内のチェックボックスonclick show/hide submit

私の問題は、[tmpId == "acknowledge")]という別のチェックボックスが存在するかどうかを確認することであり、そうでない場合は送信ボタンが表示される前にチェックされます送信ボタンを表示します。これは、各製品に対して最初のチェックボックス[("id= "+feeSID+"_checkbox")]をクリックする必要があります... $("#ocContainer")は、選択された各製品に対して、適切なチェックボックスがオンになっているかどうかを示す隠しコンテナです(サブミットあり)。

各IDの最初の部分は、可変SQLクエリによって生成され、関数に渡さ..です My機能:

var feeSID = ""; 
var feeVAL = ""; 
var pop = ""; 

function countChecked(feeSID) { 
    var n = $("input:checked").val(); 
    var tmpId = $(this).attr("name"); 
    if (tmpId == "acknowledge") { 
     console.log("acknowledge Clicked <br />"); 
    } else { 
     feeVAL = $(this).attr("id"); 
    } 
    if (feeVAL == '') { 
     return; 
    } else { 
     if ($("#" + feeSID + "_checkbox:checked")) { 
      console.log("id= " + feeSID + "_checkbox"); 
      var pop = $("#" + feeSID + "_popup").length; 
      if (pop > 0) { 
       $(":checkbox").click(function() { 
        if (tmpId == "acknowledge") { 
         $("#ocContainer").show(); 
        } 
       }); 
      } else { 
       $("#ocContainer").show(); 
      } 
     } 
    } 
} 

私は私の説明が明確だった願っています。私は例外は、おそらくあなたのコード内でこの行によって引き起こされると考えて
uncaught exception: Syntax error, unrecognized expression: #[object Object]_popup

+0

ようこそStackOverflow。コードブロックが正しく表示されるように、コードブロック(質問/回答のテキストボックスの上部にある中括弧のボタン)を使用することを忘れないでください。 –

+0

@ Drackir - ありがとうと私は編集し、コードブラケットを追加しました.. –

答えて

0

var pop = $("#"+feeSID+"_popup").length; 

あなたのコード内のどこかの時点で、feeSIDがオブジェクトに割り当てられている私はのエラーを取得しています。したがって、文字列ではなくセレクタの一部としてオブジェクトを使用しようとしています。セレクタの一部として使用する前に、feeSIDがオブジェクトではなく文字列であることを確認する必要があります。

+0

アダムありがとう、それはどこから来ているのは正しいです。私たちが{var pop = $( "#" + feeSID + "})に到達する前に、私はそれを失っていますので、私はそれの上の行にfeeSIDを打つと、{$ {"# "+ feeSID +" _ checkbox: "_popup")。length; } –

+0

私はそれがオブジェクトに割り当てられているのを避ける方法を知っていますか?多分それを別のvarに割り当てることができます。 ? –

+0

あなたのスクリプトからその行のコードをコメントアウトしてみてください。まだ例外がありますか? –

0

エラーは私のセレクタの一部としてObjを使用しようとしているために発生しました。 Adam Praxが指摘したように

var pop = $("#"+feeSID+"_popup").length; 

私のコードのある時点では、feeSIDがオブジェクトに割り当てられています。 new String(feeSID);
これを使用して、変数またはオブジェクトを文字列として再宣言して再度解決することで解決しました。私はそれが他の誰かを助けてくれることを願っています。私がgoogle上で見つけることができるのは、もはやjQueryで有効な構文ではない文法@name="name"の使用です。

関連する問題