将特定单元格突出显示为背景颜色,并将特定单元格设置为true

时间:2015-01-08 17:33:33

标签: jquery

<table>
<tr class="slots">
    <td data-col="1" js-select>
        <input class="time" type="radio"/> 1
    </td>
    <td data-col="2" js-select>
        <input class="time" type="radio"/> 2
    </td>
    <td data-col="3" js-select>
        <input class="time" type="radio"/> 3
    </td>
    <td data-col="4" js-select> 
        <input class="time" type="radio"/> 4
    </td>

</tr>

var selected = $('[js-select]')
$(selected).click(function(e){
  console.log('clicked')
  // $(this).parents().siblings('.timing').attr('checked', true)
  $(this).closest('input:radio').attr('checked', true)
})

JSfiddle demo

当点击td单元本身时,它应该设置在同一个td单元格中的特定无线电以检查为true。这样,它会将整个列设置为活动以突出显示为背景颜色。 我试过父母,兄弟姐妹,最接近,但它设置所有收音机在本地机器上检查是真的。

帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

  1. 输入位于td下方,因此您需要使用find
  2. 使用prop复选框(不是attr
  3. 您需要一组公共name=属性,才能使单选按钮组协同工作
  4. JSFiddle:http://jsfiddle.net/TrueBlueAussie/pukz2sca/3/

    var selected = $('[js-select]')
    $(selected).click(function(e){
      console.log('clicked')
      // $(this).parents().siblings('.timing').attr('checked', true)
      $(this).find('input:radio').prop('checked', true)
    })