2009-05-19 8 views
2

これまでのjQueryの問題で本当に大きな助けになりました。運が良かったので、いくつかのチェックボックスで手助けをすることもできました。誰かが私が間違っていることを教えてもらえますか?JQueryのチェックボックスの値が定義されていません

ありがとうございます!

チェックボックスは正しくデータベースのbool値をエコーし​​ていますが、変更された値を送信するとalert()はそれらが未定義であることを通知します。あなたは何のvalue属性は、実際に両方..

チェックボックスが値を持っているので、あなた場合はありません、あなたのHTMLのinput要素に

<input type="checkbox" value="1" id="admCustRptDly" name="admCustRptDly"> 
+0

こんにちはフランク、ここに掲載されているコードのいくつかが必要な場合があります。 – alex

+0

提出コードを含めてください。 – tvanfosson

+0

こんにちはtvanfosson。サブリットコードはどういう意味ですか?申し訳ありませんが、私は本当に本当にjqueryの新しいです。フォームタグを意味しますか? –

答えて

0

]チェックボックスでのセレクタは正しくありません。チェックボックスがチェックされているかどうかに応じて、真/偽の値を設定します

var admCustRptDly = $("#admCustRptDly:checkbox:checked").val() == 'on'; 

この:

var admCustRPSecPhone = $("input#admCustRPSecPhone:checked").val() == 'on'; 
    var admCustRptDly = $("input#admCustRptDly:checked").val() == 'on'; 
    var admCustRptSumm = $("input#admCustRptSumm:checked").val() == 'on'; 
    var admCustRptDtl = $("input#admCustRptDtl:checked").val() == 'on'; 

また、のようなものを使用することができます。

+0

tvanfosson、ありがとう! admCustRptDly = on&admCustRptSumm = on&admCustRptDtl = on htmlから値を削除する必要がありました。すべてのボックスをチェックしていて、データベースの値を示さなかったからです。 value属性を削除すると、データベースのbool値が表示されます。 –

+0

tvanfosson、これらのチェックボックスをfalseに "0"、trueに "1"を送ることは可能ですか?私は、入力タグからvalue = "1"属性を削除すると、現在のbool値が表示されるため、わかりません。値を追加すると、チェックボックスは現在のデータベースの値を正しく表示しますが、フォームを送信すると、すべてのチェックボックスがチェックされて表示されます。希望は意味をなさない。 –

+0

@フランク - チェックされたものだけを選択してください。私はこれを反映するために私の答えを更新しました。 – tvanfosson

0

それらの値を警告して "未定義"にしますが、チェックボックス自体に警告している場合は、おそらく何か間違っているでしょう。

@Soviutによると、ほとんどのプロパティは設定時に名前を繰り返すため、値をtrueに設定しても何も起こりません。以下のようなので、あなたの入力を取得します:

<input type="checkbox" checked="checked" value="1" name="myCheck" /> 

だから、上記を試してみて、私たちにいくつかのフィードバックを与える='p

+0

else if(item.field == "admCustRptDtl" && item.value == "1") これは値属性ではありませんか? –

+0

フランク私はJSの部分について話していない、私が掲示した例を確認し、そこに余分な価値の属性があります。 – duckyflip

+0

私はちょうど値= "1"をhtmlに追加しました。ここではalert()が私に返すものを示します: admCustRptDly = undefined&admCustRptSumm = undefined&admCustRptDtl =未定義 –

1

を設定していない

 else if (item.field == "admCustRptDly" && item.value == "1") 
     { 
      $('#admCustRptDly').attr('checked', true); 
     } 

     else if (item.field == "admCustRptSumm" && item.value == "1") 
     { 
      $('#admCustRptSumm').attr('checked', true); 
     } 

     else if (item.field == "admCustRptDtl" && item.value == "1") 
     { 
      $('#admCustRptDtl').attr('checked', true); 
     } 

<tr> 
    <td class="admMarker">Daily<input type="checkbox" id="admCustRptDly" name="admCustRptDly" class="admChkbx"></td> 
    <td class="admMarker">Summary<input type="checkbox" id="admCustRptSumm" name="admCustRptSumm" class="admChkbx"></td> 
    <td class="admMarker">Detail<input type="checkbox" id="admCustRptDtl" name="admCustRptDtl" class="admChkbx"></td> 
</tr> 

$(function() { $('.error').hide(); 
    $('input.text-input').css({backgroundColor:"#FFFFFF"}); 
    $('input.text-input').focus(function(){ 
     $(this).css({backgroundColor:"#FFDDAA"}); 
    }); 
    $('input.text-input').blur(function(){ 
     $(this).css({backgroundColor:"#FFFFFF"}); 
    }); 

     $(".admCustBtn").click(function() 
    {  // validate and process form 
      // first hide any error messages 
     $('.error').hide(); 



      var admCustRPSecPhone = 
    $("input#admCustRPSecPhone").val(); 
      var admCustRptDly = 
    $("checkbox#admCustRptDly").val(); 
    var admCustRptSumm = 
    $("checkbox#admCustRptSumm").val(); 
      var admCustRptDtl = 
    $("checkbox#admCustRptDtl").val(); 

      var dataString = 
     'admCustID='+ admCustID + 
     '&admCustRptDly='+ admCustRptDly + 
     '&admCustRptSumm='+ admCustRptSumm + 
     '&admCustRptDtl='+ admCustRptDtl; 

      alert (dataString);return false; 

      $.ajax({ 
      type: "POST", 
      url: "body.php?action=admCustomer", 
      data: dataString, 
      success: function(){ 
      alert("Success! Data Saved"); 
      } 
     }); 
     return false; }); }); 
+0

​​タグですが、まだ定義されていません。 admCustRptDly =未定義&admCustRptSumm =未定義&admCustRptDtl =未定義 –

+0

フランクこのコメントを入力しながら、あなたが実際にあなたの要素に= 1の値を追加するべきであるので、私は正直申し訳ホセ – duckyflip

+0

​​あなたがミスを犯してきたではない願って、私は約興奮しています私の脳が私の指より速く走っていることを実際に働かせる可能性。 :) はい、私は値= "1"を入力タグに追加しました。 –

1

申し訳ありませんが、私の場合は.attr() - 私にとってはAdobeの空気でもうまく動作します。

jQuery('#mycheckbox').attr("checked") 
関連する問題