如何将ng-model属性绑定到动态生成的jQuery元素?

时间:2017-04-11 12:11:58

标签: javascript jquery angularjs model-view-controller

以下代码动态生成表单。 - 这是用Angular js 1.4编写的

    var $label = $('<label display="inline-block" width=25px>').text(jsonObj.ATTRIBUTES[key].ATTRIBUTE_NAME+' :  ');
    var $input = $('<input type="text">').attr({id: jsonObj.ATTRIBUTES[key].ATTRIBUTE_NAME+'Id', name: jsonObj.ATTRIBUTES[key].ATTRIBUTE_NAME, 'ng-model':'entity.'+jsonObj.ATTRIBUTES[key].ATTRIBUTE_NAME});
    $input.appendTo($label);
    $('#dynamicContent').append($label).append('<br/>');

接下来,这个'dynamicContent'id在JSP中如下所示

start form name="myForm" ng-submit="submitForm()"
div id='dynamicContent'
end form               

现在,我如何确保表单提交,并且我将能够访问控制器中的“实体”?

PS:Angular和jQuery的新手 如果我只使用Angular,请建议我如何继续。

1 个答案:

答案 0 :(得分:0)

您需要{h}片段$compile针对控制器的范围,然后将其附加到#dynamicContent。为此,您需要在控制器中注入$compile

示例代码:

var htmlContent = "<prepare-your-html-using-jquery>";
$("#dynamicContent").append(
  $compile(htmlContent)(scope);
);

参考:angularjs-jquery-how-to-get-dynamic-content-working-in-angularjs