根据其他td图像更改图片

时间:2015-10-27 12:57:05

标签: jquery image

我有这个标记,

// we have n number of rows here, below is just a template
<tr class="row">
    <td class="optionsImg" style="display:none;">
        <img src="../status/approved-01.png" />
        <img src="../status/rejected-01.png" />
        <img src="../status/pending-01.png" />
    </td>
    <td class="statusImg">
        <img src="../status/pending-02.png" />
    </td>
</tr>

现在点击一下按钮,

$("#buttonEdit").on("click", function () { 
    $(".optionsImg").toggle();
});

我想要的是,根据课程optionsImg中的Img src更改statusImg课程中的图像来源,

例如:

如果src of Img中的statusImgpending-02.png,我想将optionsImg类中的pending-01.png更改为pending-02.png,而不是pending-01.png其他选项将保持不变,

其他图片也是如此,

如果src Img中的statusImgapproved-02.png,我想将optionsImg类中的approved-01.png更改为approved-02.png,而不是approved-01.png

问题

我不知道怎么能这样做,字面上无法想到从哪里开始......

修改

编辑按钮位于@header,它允许用户将任务状态更改为待处理,已批准和已拒绝,first cell只是用户在点击编辑按钮时默认隐藏的选项second cell { {1}}是当前选择的选项。

01和02表示图像的颜色,01表示灰色,02表示彩色。希望现在更有意义。

修改2

现在我能够自己达到这一点,

$('#myTable > tbody > tr').each(function () {
      var selectedCellImg = $(this).find("statusimg img").attr('src');
      var extension = selectedCellImg // going to get name of name
});

1 个答案:

答案 0 :(得分:0)

这可能不是最好的方法,我可能会回来重构它,随意发布更好的代码,我会接受你的答案,

$('#myTable > tbody > tr').each(function () {
      $this = $(this);
      var selectedCellImg = $(this).find(".statusimg img").attr('src');
      var childImgOrder = 0;

      if(selectedCellImg == "../status/rejected-01.png")
          childImgOrder =  1;
      else if(selectedCellImg == "../status/pending-01.png")
          childImgOrder = 2;

      var $changeMe = $($this.find(".statusImg img")[childImgOrder]);
      $changeMe.attr('src', selectedCellImg);
});

上面手写的代码,让我知道是否有任何错误。