首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >发送表中已更改行的ID (html to JS)

发送表中已更改行的ID (html to JS)
EN

Stack Overflow用户
提问于 2018-06-19 23:28:52
回答 1查看 198关注 0票数 0

我有7行,我只需要对编辑的行使用我的函数。我怎么发送id?或者也许有更简单的方法?我尝试发送行号id onChange="setprice(this.value,18,5)"最后一个是行的ID,但在拆分int+字符串时,我无法将其确定为ID。例如:var idofrow = ('setvalue'+row); $("#idofrow").html("");#idofrow不工作

function setprice(val, ay, row) {
  var rowid_ilk = event.target.getAttribute('id');
  $("#rowid_ilk").html("");
  var total = Math.round((((({{ price_without_symbol }  } - val) / ay) * ({{      kredittable.kredit_faiz / 100 }})) + (({{ price_without_symbol }} - val) / ay)));
  var rowset = 'setvalue' + row;
  alert(rowset);
  rowset.innerHTML += total;
}
<table class="table table-striped" id="tablebrd">
  <thead>
    <tr>
      <th scope="col">{{ text_kredit_mesac }}</th>
      <th scope="col" style="width: 28%">{{ text_min_vznos }}</th>
      <th scope="col">{{ text_mes_plata }}</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>3 {{ text_kredit_mesaca }}</td>
      <td><input type="number" name="ilkoden" id="ilkoden1" value="{{ kredittable.kredit_min_ilkin  }}" onChange="setprice(this.value,3,1)" /></td>
      <td>
        <div id="setvalue1"></div>
      </td>
    </tr>
    <tr>
      <td>6 {{ text_kredit_mesaca }}</td>
      <td><input type="number" name="ilkoden" id="ilkoden2" value="{{ kredittable.kredit_min_ilkin  }}" onChange="setprice(this.value,6,2)" /></td>
      <td>
        <div id="setvalue2"></div>
      </td>
    </tr>

    <tr>
      <td>9 {{ text_kredit_mesaca }}</td>
      <td><input type="number" name="ilkoden" id="ilkoden3" value="{{ kredittable.kredit_min_ilkin  }}" onChange="setprice(this.value,9,3)" /></td>
      <td>
        <div id="setvalue3"></div>
      </td>
    </tr>

    <tr>
      <td>12 {{ text_kredit_mesaca }}</td>
      <td><input type="number" name="ilkoden" id="ilkoden4" value="{{ kredittable.kredit_min_ilkin  }}" onChange="setprice(this.value,12,4)" /></td>
      <td>
        <div id="setvalue4"></div>
      </td>
    </tr>

    <tr>
      <td>18 {{ text_kredit_mesaca }}</td>
      <td><input type="number" name="ilkoden" id="ilkoden5" value="{{ kredittable.kredit_min_ilkin  }}" onChange="setprice(this.value,18,5)" /></td>
      <td>
        <div id="setvalue5"></div>
      </td>
    </tr>

    <tr>
      <td>24 {{ text_kredit_mesaca }}</td>
      <td><input type="number" name="ilkoden" id="ilkoden6" value="{{ kredittable.kredit_min_ilkin  }}" onChange="setprice(this.value,24,6)" /></td>
      <td>
        <div id="setvalue6"></div>
      </td>
    </tr>

    <tr>
      <td>36 {{ text_kredit_mesaca }}</td>
      <td><input type="number" name="ilkoden" id="ilkoden7" value="{{ kredittable.kredit_min_ilkin  }}" onChange="setprice(this.value,36,7)" /></td>
      <td>
        <div id="setvalue7"></div>
      </td>
    </tr>
  </tbody>
</table>

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-19 23:34:57

您可以通过访问事件的target属性来访问已更改元素的idevent.target

event.target是对调度事件的对象的引用

然后用.getAttribute访问它的id名称。并使用.substr方法删除id名称的前七个字母,以获得元素的编号。

event.target.getAttribute('id').substr(7)

下面是一个快速演示:

const fn = function() {
  console.log(event.target.getAttribute('id').substr(7))
}
<div id="ilkoden11" onclick="fn()">This is item 11</div>

如果你想在同一层上选择一个元素的id,你将需要在HTML树中做一些导航,下面的选择器将完成这项工作:

const div = event.target.closest('tr').querySelector('div').id;
                              ↑                  ↑
                        parent <tr>      find <div> child

下面是一个示例:

const setprice = function() {
  const target = event.target.id;
  const value = event.target.value;
  const div = event.target.closest('tr').querySelector('div').id;
  console.log(target, value, div)
}
<table>
<tr>
  <td><input id="ilkoden2" onkeyup="setprice()" /></td>
  <td>
    <div id="setvalue2"></div>
  </td>
</tr>
</table>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50932037

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档