[英]Send ID of changed row in table (html to JS)
I have 7 row and i need to use my function only for row which was edited. 我有7行,我只需要对已编辑的行使用我的函数。 How can i send id? 如何发送身份证? or maybe there are more easy way? 还是有更简单的方法? I tried to send number of row id onChange="setprice(this.value,18,5)"
last one is ID of row, but on split int+ string I can not detetct it as ID . 我尝试发送行号id onChange="setprice(this.value,18,5)"
最后一个是行的ID,但是在分割int +字符串上,我无法将其作为ID取消引用。 For example: var idofrow = ('setvalue'+row); $("#idofrow").html("");
例如: var idofrow = ('setvalue'+row); $("#idofrow").html("");
var idofrow = ('setvalue'+row); $("#idofrow").html("");
. 。 #idofrow
does not work #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>
You can access the id
of your changed element by accessing the target
property of the event: event.target
: 您可以通过访问事件的target
属性来访问已更改元素的id
: event.target
:
event.target
is a reference to the object that dispatched the eventevent.target
是对调度事件的对象的引用
Then access its id
name with .getAttribute
. 然后使用.getAttribute
访问其id
名称。 And remove the first seven letters of the id name to get the element's number with the method .substr
. 并使用.substr
方法删除id名称的前七个字母,以获取元素的编号。
event.target.getAttribute('id').substr(7)
Here's a quick demo: 这是一个快速演示:
const fn = function() { console.log(event.target.getAttribute('id').substr(7)) }
<div id="ilkoden11" onclick="fn()">This is item 11</div>
If you want to select the id of an element on the same level, you will need to do some navigating inside the HTML tree, the following selector will do that: 如果要在同一级别上选择元素的ID,则需要在HTML树中进行一些导航,以下选择器将完成该操作:
const div = event.target.closest('tr').querySelector('div').id;
↑ ↑
parent <tr> find <div> child
Here is an example: 这是一个例子:
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>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.