0

次のコードをご覧ください。

   $("#saveButton").click(function(){

        $this = $("#tableData").find("input:checked").parent().parent();

        tea = $this.find(".teaCls").text();

        $.ajax({
            type: "POST",
            url: "chkSelectedValues.php",
            data: "tea=" + tea,
            success: function(msg){
                $("#theField").html(msg);
            }

        });       

    });

ここで、複数のチェックボックスが選択されている場合、それらすべてのフィールドのを連結することにteaなります。2つのチェックボックスが選択され、1つに単語が含まれ、もう1つに単語が含まれている場合、最後に変数は次の値を取得します 。しかし、これらの値(この場合はと)を含む配列になりたいのは、AJAXリクエストでそれらを渡す必要があり、簡単にキャッチしたいからです。flowertextsometextteasometextteasometextchkSelectedValues.php

構造:

<table #tableData>
 <tr>
   <td .teaCls></td>
   <td> Checkbox here</td>
  </tr>
  <tr>
  .....

これどうやってするの?前もって感謝します。

4

3 に答える 3

2

これは機能するはずです:

var tea = $(':checked').map(function() {
    return this.value;
}).get();

http://jsfiddle.net/alnitak/Dwevr/でのデモ

OPの説明を反映するように編集が更新されました。

var tea = $(':checked').map(function() {
    return $(this).parent().siblings('.teaCls').text();
}).get();
于 2012-06-29T14:39:43.690 に答える
1

うん。それを解決しました..助けてくれてみんなに感謝します。

var md = new Array();
$("input:checkbox").filter(":checked").parent().parent().each(function(){

   md.push($(this).find(".teaCls").text());

});

mdが私のヒーローです!

于 2012-06-29T15:01:53.800 に答える
1

これを試してみてください。デモの目的でalert()の部分を除いたものがまさにこれだと思います。これもjsFiddleです:http://jsfiddle.net/pT2bP/

<table id="tableData">
    <tr>
        <td class="teaCls">FooA</td>
        <td><input type="checkbox" value="BarA"/></td>
    </tr>
    <tr>
        <td class="teaCls">FooB</td>
        <td><input type="checkbox" value="BarB"/></td>
    </tr>
    <tr>
        <td class="teaCls">FooC</td>
        <td><input type="checkbox" value="BarC"/></td>
    </tr>
</table>

<button id="saveButton">Save</button>


$(function() {

    $("#saveButton").click(function() {
        var keyValue = {};

        $("#tableData :checkbox:checked").each(function() {
            var $this = $(this);      
            keyValue[$this.val()] = $this.closest('tr').find('.teaCls').html();
        });
        alert($.param(keyValue));
    });
})
于 2012-06-29T15:22:03.407 に答える