具有预定义参数的HTML子选择器

时间:2016-11-13 07:30:51

标签: javascript jquery angularjs

我有一个函数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")

问题解决了,谢谢你的帮助!

4 个答案:

答案 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);