2

これは、ajax を使用してコントローラーにデータを投稿している codeigniter の私のビューです。

<script type="text/javascript">
        $(document).ready(function(){
            // find the input fields and apply the time select to them.
            $('#sample1 input').ptTimeSelect();
        });
    </script>
    <script type="text/javascript">

function add_chamber() {
    $.ajax({
        url: '<? echo base_url("index.php/doctormain/add_chamber"); ?>',
        type: "POST",
        data: {
            name :  $("input#name").val(),
            address :  $("input#address").val(),
            city :  $("input#city").val(),
            locality :  $("input#locality").val(),
            state:$("input#state").val(),
            landline :  $("input#landline").val(),
            mobile :  $("input#mobile").val(),
             fees :  $("input#fees").val(),
            email :  $("input#email").val(),
            days :  $("input#mon:checked").val() +$("input#tue:checked").val()+$("input#wed:checked").val()+$("input#thur:checked").val()+$("input#fri:checked").val()+$("input#sat:checked").val()+$("input#sun:checked").val(),
            start :  $("input#start").val(),
            end :  $("input#end").val(),
            comments :  $("input#comments").val()
        },
        success :function(response) {

            $('#sucess').html(response);
            $( "#sucess" ).dialog({
      height: 140,
      modal: true
    });
        },
        error: function(){
            alert("Error");
        }
    });
}
</script>


<div class="content">
<div class="content-left">
<div  class="row1">
<h2>Welcome <? echo $username ?></h2>
<h1> Add Chamber </h1>
<h2><div id="sucess"></div></h2>



   <?php echo form_open_multipart('doctormain/add_chamber');?>

      <table width="100%">

<tr><td> Name:</td><td> <input name="name" type="text" id="name"></td></tr>
<tr><td> Address:</td><td>  <input name="address" type="text" id="address"></td></tr>
<tr><td> City:</td><td>  <input name="city" type="text" id="city"></td></tr>
<tr><td> Locality:</td><td> <input name="locality" type="text" id="locality"></td></tr>
<tr><td> State:</td><td>  <input name="state" type="text" id="state"></td></tr>
<tr><td> Landline:</td><td>  <input name="landline" type="text" id="landline"></td></tr>
<tr><td> Mobile:</td><td>  <input name="mobile" type="text" id="mobile"></td></tr>
<tr><td> Email:</td><td>  <input name="email" type="text" id="email"></td></tr>
<tr><td> Consultation Fees:</td><td>  <input name="fees" type="text" id="fees"></td></tr>
<tr>
  <td> Days Of Availability:</td><td>
  Mon:<input name="mon" type="checkbox" id="mon" value="1" checked>
  Tue:<input name="tue" type="checkbox" id="tue" value="2"  checked>
  Wed:<input name="wed" type="checkbox" id="wed" value="3" checked>
  Thur:<input name="thur" type="checkbox" id="thur" value="4" checked>
  Fri:<input name="fri" type="checkbox" id="fri" value="5" checked>
  Sat:<input name="sat" type="checkbox"  id="sat" value="6" checked>
  Sun:<input name="sun" type="checkbox" id="sun" value="7" checked>
  </td></tr>
  <tr><td> Time Of Availability</td><td>

  <div id="sample1" class="ui-widget-content" style="padding: .5em;">
        <p>
            <label>Start</label>
            <input name="s1Time2" id="start" value="" /> 
            <label>End</label>
            <input name="s1Time2" id="end" value="" />
        </p>
        </div>



  </td></tr>
<tr><td> Comments:</td><td> <input name="comments" type="testbox" id="comments" ></td></tr>

<tr><td> </td><td> <input name="submit" id="submit" class="button" type="button" value="Save" onclick="add_chamber()">
</td></tr>
<? echo form_close();?>
      </table>

   <div id="results">
   </div>
   </div>


</div>

<div class="content-right">
<div class="mainmenu">
<h2 class="sidebar1">My Menu</h2>
<p><ul>
  <li><a href="#">this is a dummy link 1</a></li>
  <li><a href="#">this is a dummy link 2</a></li>
  <li><a href="#">this is a dummy link 3</a></li>
  <li><a href="#">this is a dummy link 4</a></li>
  <li><a href="#">this is a dummy link 5</a></li>
  <li><a href="#">this is a dummy link 6</a></li>
  <li><a href="#">this is a dummy link 7</a></li>
  <li><a href="#">this is a dummy link 8</a></li>
  <li><a href="#">this is a dummy link 9</a></li>
  <li><a href="#">this is a dummy link 10</a></li>
</ul></p>
</div>



</div>
</div>

しかし、ここで私のjqueryで

 days :  $("input#mon:checked").val() +$("input#tue:checked").val()+$("input#wed:checked").val()+$("input#thur:checked").val()+$("input#fri:checked").val()+$("input#sat:checked").val()+$("input#sun:checked").val(),

選択されているチェックボックスの値のみを渡したいです。

たとえば、チェックボックス id sun が選択されている場合、7 のみが渡されます。

しかし、私が直面している問題は、たとえば月、火、日を選択しているときに、未定義の 12 が渡されることです。

誰でもこの問題で私を助けてくれますか ありがとうSomdeb

4

7 に答える 7

2

この方法を試してください:

days =  $('input[type=checkbox]:checked').map(function() {
                 return this.value ;
              }).get().join(',');

サンプルを見る

于 2013-03-01T06:21:46.310 に答える
1

これは (); ごとに行うことができます。

$("input:checkbox:checked").each()

$("input:checkbox[name=numbers]:checked") 

チェックされたすべてのチェックボックスの配列を再実行し、その配列を反復処理できます

これがそのです。

于 2013-03-01T06:11:19.263 に答える
1

そうする代わりに、チェックされたすべてのチェックボックスをループできます

$("input:checkbox:checked").each(function(){

 days+=$(this).val();
}
于 2013-03-01T06:16:31.293 に答える
1

機能しない場合は、 を使用して確認してください.is()

var passDays;

if($("#mon").is(':checked'))
{
    passDays += $(this).val();
}

if($("#tue").is(':checked'))
{
    passDays += $(this).val();
}

days : passDays,

passDaysその中でasarraypushvalue を使用することもできます。

また、このコードを使用して最適化し、配列で.each()チェックすることもできます。.is(':checked')push

于 2013-03-01T06:18:21.850 に答える
0

これを試して :-

days :  $("#mon:checked").val() +$("#tue:checked").val()+$("#wed:checked").val()+$("#thur:checked").val()+$("#fri:checked").val()+$("i#sat:checked").val()+$("#sun:checked").val()
于 2013-03-01T06:14:16.773 に答える
0

これを試すことができます:

var days = {};
$('form input[type=checkbox]').each(function() {
    days[$(this).attr('value')] = $(this).attr('checked');
});
于 2013-03-01T06:33:17.237 に答える
0

これが、jQueryserializefindが作成された目的です。

function add_chamber() {
    $.ajax({
        url: '<? echo base_url("index.php/doctormain/add_chamber"); ?>',
        type: "POST",
        data: { $(table).find(input, checkbox, textbox).serialize();
        }
},

ここをチェックしてください:http://api.jquery.com/serialize/

于 2013-03-01T06:16:16.173 に答える