javascript - 根据 .jqGrid 中第一个复选框的选择读取第二个复选框的值

标签 javascript jquery html checkbox jqgrid

我有一个.jqGrid其中有一个用值创建的隐藏复选框列。要在 UI 上显示复选框,multiselect: true用来。所以基本上,我有一组 <tr>哪里有一个<td>是隐藏的,有一定的值(value)。 我想获取隐藏<td>的值显示时 <td>被选中。

在此JSFiddle链接,我想获取2nd的值复选框(即 "NDVoYzZ1aUNYdzAlM2Q1" )并在用户单击 1st 时将其推送到数组中。如果用户选择1st3rd比数组的值应为 2nd and 4th复选框。

我怎样才能做到这一点?

HTML 片段:

 <tr role="row" id="0" tabindex="-1" class="ui-widget-content jqgrow ui-row-ltr ui-state-highlight" aria-selected="true">
      <td role="gridcell" style="text-align:center;width: 20px;" aria-describedby="grid_cb">
        <input role="checkbox" type="checkbox" id="jqg_grid_0" class="cbox" name="jqg_grid_0"> 1st
      </td>
      <!-- HIDDEN TD  --> 
      <td role="gridcell" style="text-align:center;display:none;" title="" aria-describedby="grid_check">
        <input type="checkbox" value="NDVoYzZ1aUNYdzAlM2Q1" name="Restaurants" id="Restaurants"> 2nd
      </td>
    </tr>
    </br>
    <tr role="row" id="1" tabindex="-1" class="ui-widget-content jqgrow ui-row-ltr">
      <td role="gridcell" style="text-align:center;" aria-describedby="grid_cb">
        <input role="checkbox" type="checkbox" id="jqg_grid_1" class="cbox" name="jqg_grid_1"> 3rd
      </td>
      <!-- HIDDEN TD  --> 
      <td role="gridcell" style="text-align:center;display:none;" title="" aria-describedby="grid_check">
        <input type="checkbox" value="QjBENlRFMW83SVElM2Q1" name="Restaurants" id="Restaurants"> 4th
      </td>
    </tr>

.js 片段:

var res = [];
$('input[type=checkbox]:checked')
  .each(function() {
    res.push($(this).eq(1).val());
  });

if (res.length == 0) {
  alert('You should select at least one option.');
  return;
}

alert("Values: " + res);

最佳答案

如果我理解正确,那么您正在寻找的jqgrid:如何附加点击处理程序以及如何获取第二个复选框......

如果是这样,您可以更改此行:

res.push($(this).eq(1).val());

至:

res.push($(this).closest('td').next('td').find('input[type=checkbox]').val());

请记住,ID 必须是唯一的。

代码片段:

$('input[type=checkbox]').on('change', function (e) {
    var res = [];
    $('input[type=checkbox]:checked').each(function (idx, ele) {
        res.push($(this).closest('td').next('td').find('input[type=checkbox]').val());
    });

    if (res.length == 0) {
        console.log('You should select at least one option.');
        return;
    }

    console.log("Values: " + res);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>


<table>
    <tbody>
    <tr role="row" id="0" tabindex="-1" class="ui-widget-content jqgrow ui-row-ltr ui-state-highlight"
        aria-selected="true">
        <td role="gridcell" style="text-align:center;width: 20px;" aria-describedby="grid_cb">
            <input role="checkbox" type="checkbox" id="jqg_grid_0" class="cbox" name="jqg_grid_0"> 1st
        </td>
        <!-- HIDDEN TD  -->
        <td role="gridcell" style="text-align:center;display:none;" title="" aria-describedby="grid_check">
            <input type="checkbox" value="NDVoYzZ1aUNYdzAlM2Q1" name="Restaurants" id="Restaurants1"> 2nd
        </td>
    </tr>
    </br>
    <tr role="row" id="1" tabindex="-1" class="ui-widget-content jqgrow ui-row-ltr">
        <td role="gridcell" style="text-align:center;" aria-describedby="grid_cb">
            <input role="checkbox" type="checkbox" id="jqg_grid_1" class="cbox" name="jqg_grid_1"> 3rd
        </td>
        <!-- HIDDEN TD  -->
        <td role="gridcell" style="text-align:center;display:none;" title="" aria-describedby="grid_check">
            <input type="checkbox" value="QjBENlRFMW83SVElM2Q1" name="Restaurants" id="Restaurants2"> 4th
        </td>
    </tr>
    </tbody>
</table>

关于javascript - 根据 .jqGrid 中第一个复选框的选择读取第二个复选框的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45697178/

相关文章:

javascript - 我怎样才能激活我当前的链接

javascript - 阅读更多按钮不适用于 <br> 元素

javascript - 在c3js中的折线图上绘制趋势线

jquery - IE8 中 not() 选择器的问题

javascript - 根据调用超链接 ID 自定义弹出窗口

Javascript(使用 Phaser)错误显示游戏颜色 - 括号

html - 如何使用 <br> 显示内联文本

javascript - 使用 Blazor Server 时如何添加客户端 DOM javascript 事件处理程序?

javascript - 尝试使用 jQuery 将负载附加到 img 时超出最大调用堆栈大小

javascript - 动态更改 <div> 元素的大小