从表格中的许多单选按钮获取值

时间:2015-05-13 23:51:45

标签: php jquery html ajax

首先,我创建一个包含n行的表,每行包含两个单选按钮。我需要从选中的表行中获取所有id并选择该选项。我的意思是如果用户选择是或否。

<table border='1' style='width:100%'>
    <tr>
        <th>Date</th>
        <th>Time</th>
        <th>Confirm Order?</th>
    </tr>
    <tr id='56'>
        <td>".$date." </td>
        <td>".time." </td>
        <td>".$prog." </td>
        <td>
            <input type='radio' name='prog1' />NO
            <input type='radio' name='prog1' />SI</td>
    </tr>
</table>

现在我得到的是从行检查中获取ID。像这样:

var idss = [];
$(':radio:checked').each(function(index) {
    var closestTr = $(this).closest('tr').attr('id');
    idss.push($(this).closest('tr').attr('id'));
});

$(function test() {
  $.ajax({
    type: 'POST',
    url: 'test.php',
    data: {
      idss: idss
    }
  });

如何获得包含所有ID的数组,其中&#39; no&#39;被选中,一个数组包含所有ID,其中&#39;是&#39;被选中了。

1 个答案:

答案 0 :(得分:0)

我在这里做了一个小提琴:https://jsfiddle.net/7w2df640/

这是js:

function getArray(){
    ar = {};
    $(".datarow").each(function(i,o){
        ar[$(o).attr("id")] = $(o).find("input[type='radio']:checked").val()
    });
    console.log(ar);
}

对于html,您必须在行中添加一个类:

<tr class="datarow" id='56'>

并为收音机添加一个值:

<input type='radio' name='prog1' checked value="no" />

最后,您将获得完全符合您需要的数组:

Object {56: "si", 57: "no"}

这有意义吗?