获取td值并通过jquery在输入文本中打印它

时间:2015-02-04 14:33:49

标签: javascript jquery angularjs

我得到以下td值并通过jquery在输入文本中打印它运行良好,但是当试图通过ng-model angular使用此值时,它获得null值,当我手动在文本框中键入值时它才起作用不是通过jquery代码。

$(document).ready(function() {
$("div.contacts").on('click', "table tr td.contactIdTD", function() {
    $("#contactId").val($(this).text());
  });
});

td值

<td class="contactIdTD">10000</td>

输入文字

<input type="text" id="contactId" class="form-control" ng-model="contactId">

2 个答案:

答案 0 :(得分:0)

以下是您的方法的解决方案:

JSFiddle


以下是您应该如何实现它(您不应该使用jQuery,因为您不需要它,suggested reading):

在您的控制器上实施一个方法:

$scope.selectContact = function(contactId){
    $scope.contactId = contactId;
}

在您的观看次数上使用ng-click调用该方法:

<td class="contactIdTD" ng-click="selectContact(2)">2</td>    

以下是解决方案:

JSFiddle

答案 1 :(得分:0)

问题不在于声明。可能是代码的结构。 为了帮助解决问题

  1. 检查contactId是在角度控制器内还是在应用程序范围内

    <div ng-controller="ContactController"> ... <input type="text" id="contactId" class="form-control" ng-model="contactId"> ... </div>

  2. 在控制器中初始化contactId

    $scope.contactId = "";