我有一个函数input
元素触发ng-blur
方法$event
参数:
$scope.MarkField = function(event)
{
}
<tr>
<td><input type="text" value="1" id="inputQuantity" ng-blur="MarkField($event);"></td>
<td><input type="text" value="1" id="inputBruto"></td>
<td><input type="text" value="1" id="inputNeto"></td>
</tr>
我需要做的是在点击ng-blur时找到此行中其他两个输入(inputBruto和inputNeto)的值。怎么做?
修改
我正在传递$event
参数,因为我知道我可以做这样的事情:
$(event.target).parent().parent()
- 所有三个输入都在的行。
但我以后不知道如何使用此行来获取id的输入。
如果这样的话可能会很好:
$("#rowID > td > input[id=inputBruto]");
修改
我设法找到/更改input[id=inputBruto]
:
$(event.currentTarget).parent().parent().find("input[id=inputBruto]").val("test")
问题解决了,谢谢你的帮助!
答案 0 :(得分:1)
你可以试试这个,
$scope.MarkField = function($event)
{
/* to get tr element */
var parent = $event.currentTarget.parent().parent()
var idCurrent = $event.target.id;
/*from parent finding for #inputBruto & #inputNeto */
var secInput=parent.querySelector("#inputBruto").value;
var thirdInput=parent.querySelector("#inputNeto").value;
}
答案 1 :(得分:1)
试试这个,找到点击元素的父元素并找到你的id元素
$scope.MarkField = function($event)
{
var parent=$event.target.parent();
var secInput=parent.find("#inputBruto").val();
var thirdInput=parent.find("#inputNeto").val();
}
答案 2 :(得分:0)
您可以使用javascript并使用以下代码访问ID
$scope.MarkField = function($event)
{
var idCurrent=$event.target.id;
var secInput=document.getElementById("inputBruto").value;
var thirdInput=document.getElementById("inputNeto").value;
}
您也可以使用与下面所示相同的方式使用jquery,
$scope.MarkField = function($event)
{
var idCurrent=$event.target.id;
var secInput=$("#inputBruto").val();
var thirdInput=$("#inputNeto").val();
}
答案 3 :(得分:0)
我设法解决了这个问题。
使用id = inputBruto:
从输入读取值$(event.currentTarget).parent().parent().find("input[id=inputBruto]").val();
使用id = inputBruto:
将值写入输入$(event.currentTarget).parent().parent().find("input[id=inputBruto]").val(7);