2012-05-08 9 views
0
<html> 
    <input type='checkbox' id='1' name='checkMr[]' value='1' />  
    <input type='checkbox' id='2' name='checkMr[]' value='2' />    
    <input type='checkbox' id='3' name='checkMr[]' value='3' />   
    <input type='checkbox' id='4' name='checkMr[]' value='4' />   

    <a id="savedoctorschedule" style="float: right;" class="clyes clbutton clbtnSave">Save</a>  
</html> 

<script> 
$j("#savedoctorschedule").bind("click", function() { 
    $j.ajax({ 
     url: "schedulemr.php", 
     type: "post", 
     data: { schmrid: $j("#sel_mr").val(), 
     schedocid: $j("#checkMr[]").val(), 
     schedate: $j("#date1").val(), }, 
     success:function(response){   
     } 
</script> 

<?php 
include '../includes/include.php'; 
$schmrid = $_POST['sel_mr']; 
$schedate = $_POST['date1']; 
$schedocid = $_POST['checkMr']; 
foreach($schedocid as $a => $b) 
{ 
    $sql="INSERT INTO tbl_mr_schedule(doctor_idscheduled_date) 
    VALUES ('".$schedocid[$a]."','".$schmrid."','0','".$date."','".$schedate."');"; 
    mysql_query($sql) or die(mysql_error()); 
} 
header('Location:../visitplan/'); 
?> 

jQueryを使用してチェックボックスのチェックボックスをすべて有効にします。チェックボックスはnの番号になります。チェックしたチェックボックスの値をデータベースに挿入し、レコードの数はチェックボックスのチェックボックスの数に依存します。これは、PHPをサーバーサイドスクリプトとして使用します。jQueryを使用して、すべてのチェックボックスのチェックボックスをクリックする方法

どうすれば修正できますか?

答えて

1

文書はいくつかの理由で無効です。明白な(doctype/<body>の欠落/など)をスキップすると、id属性は数字で始まらないことがあります。 id="1"は無効です。 id="check-1"のような数字以外のプレフィックスを使用するか、IDをチェックボックスのvalueとして割り当てる必要があります。

これを修正したら、以下を使用してチェックボックスをすべて検索し、その値(または使用する属性のいずれか)を取得できます。

$("input:checked").map(function() { return $(this).val(); }); 
+0

このIDは、テーブルのレコードIDからdynamicly割り当てられている見つけてください。それは数字です –

+2

** **数値ではありません。それは動作しません。これが私の言うことです。別の属性を使うか、 'check-'プレフィックスを追加する必要があります。 – meagar

+2

ほとんどのブラウザは、HTML 4で許可されていなくても数値の「id」値を認識します(HTML5で許可されています)。[自分自身を参照](http://jsfiddle.net/aRJc7/)。悪い習慣ですが、コードを壊すことはまずありません。 – Blazemonger

3

$(':checkbox[name="checkMr[]"]:checked') //returns you the list of selected checkbox 

、その後することができます、

var selectedID = []; 
$(':checkbox[name="checkMr[]"]:checked').each (function() { 
    selectedID.push(this.id); 
}); 

DEMO

+0

もう一度それを行ってください。私は何かを更新しました –

0

、以下試してみてくださいIDは数字で始めることはできません。 idの使用attr( 'value')または.val()を更新したら、入力に関連付けられた値を取得します。

+0

元の質問を解決するには、次のコードを使用して、チェックされたすべての要素をクエリしてください: $( 'input-container input:checked'); 次に、forループまたはjQueryの.each()関数を使用して、返された要素をループし、必要なデータを抽出します。 – Cole

1
$("#savedoctorschedule").click(function(e){ 
    e.preventDefault(); 
    var sList = ""; 
    $('input[name="checkMr[]"]').each(function() { 
     if(this.checked){ 
      sList += "(" + $(this).attr('id') + ")"; 
     } 
    }); 
    alert(sList); 
    } 
);​ 

FIDDLE

関連する問題