Javascript 如何在I';我在用angularjs的partials?
我正在使用angular UI路由器,将页面分成部分视图,然后加载这些视图。我注意到我似乎不能在局部视图上使用jquery。我有一个主索引页,然后使用angular js插入部分 我想在任何部分的代码上运行的任何类型的jquery都不起作用 下面是我插入部分的索引页示例:Javascript 如何在I';我在用angularjs的partials?,javascript,jquery,angularjs,angular-ui-router,Javascript,Jquery,Angularjs,Angular Ui Router,我正在使用angular UI路由器,将页面分成部分视图,然后加载这些视图。我注意到我似乎不能在局部视图上使用jquery。我有一个主索引页,然后使用angular js插入部分 我想在任何部分的代码上运行的任何类型的jquery都不起作用 下面是我插入部分的索引页示例: <div id="page-content-wrapper"> <div ui-view> </div> </div> 还有一个部分(一个表单)的例子
<div id="page-content-wrapper">
<div ui-view>
</div>
</div>
还有一个部分(一个表单)的例子,我试图运行一些jquery来找出表单字段的值:
<h1>Intake Form</h1>
<form name="intakeform">
<div class="form-group">
<label for="sourceSystem">Source System</label>
<select class="form-control" id="sourceSystem" ng-model="sourceSystem">
<option value="" selected disabled>Select Source System</option>
<option value="Cosmos DIV">COSMOS</option>
<option value="UNET">UNET</option>
</select>
</dv>
</form>
关于如何让jQuery处理这些局部视图有什么想法吗?或者我应该跳过ui路由器,单独创建这些页面吗
完全公开,如果有帮助的话,我们将JAVA与JSP和Adobe的CQ5 CMS一起使用。我很乐意使用.Net来实现这一点,但是这个项目都是JAVA(我不太熟悉)。这就是为什么我尝试使用Angular的MVC设计模式
另外,我在浏览器控制台中没有收到任何错误,并且在页面底部包含了所有必要的脚本
非常感谢您的帮助
p您应该熟悉可以完成您所寻找工作的角度指令 基本上,在这里,您可以在
选择元素上使用ngChange
在部分中:
<form name="intakeform">
<div class="form-group">
<label for="sourceSystem">Source System</label>
<select ng-change="updatefunction()" class="form-control" id="sourceSystem" ng-model="sourceSystem">
<option value="" selected disabled>Select Source System</option>
<option value="Cosmos DIV">COSMOS</option>
<option value="UNET">UNET</option>
</select>
</dv>
</form>
$scope.updateFunction = function() {
// Do whatever you want here
}
编辑:
在AngularJS上,您有一些有用的指令来填充select
元素并将它们绑定到您的模型
例如:
<form name="intakeform">
<div class="form-group">
<label for="sourceSystem">Source System</label>
<select ng-change="updatefunction()" ng-options="item in items" class="form-control" id="sourceSystem" ng-model="sourceSystem">
</select>
</div>
</form>
源系统
它将为存储在$scope.items
中的每个值填充select元素。然后,当您输入ngModel指令($scope.sourceSystem
)时,该值将在您的模型中更新。Ha!我终于明白了
这就是我所做的。在为使用AngularJS预填充字段做了更多的挖掘之后,我遇到了这个问题:
然后做了这个:
在my app.js文件中:
app.controller('IntakeController', function($scope, $timeout){
$scope.systems = [{
name: 'Cosmos',
ossi: 'Cosmos DIV'
}, {
name: 'UNET',
ossi: 'ADJ and ENG'
}];
});
这是我的表格:
<div ng-controller="IntakeController">
<h1>Intake Form</h1>
<form name="intakeform">
<div class="form-group">
<label for="sourceSystem">Source System</label>
<select class="form-control" ng-model="system" ng-options="s.name for s in systems" >
<option value="">Select Source System</option>
</select>
</div>
<div class="form-group">
<label for="otherSystem">Other Source System Indentifiers</label>
<input type="text" ng-model="system.ossi" class="form-control" placeholder="Other Source System Indentifiers">
</div>
</form>
</div>
进气形式
源系统
选择源系统
其他源系统标识符
现在,当我单击源系统时,其他源系统标识符将自动填充
感谢您的帮助,让我知道使用AngularJS而不是jQuery可以很快完成这项工作
p您根本不需要使用jquery事件绑定,只需使用ng change
。为什么不像@PSL所说的那样简单地使用ngChange之类的角度指令呢?这看起来不错,但最终我需要根据这个初始字段值自动填充几个其他字段。有没有一种方法也可以用angular实现这一点?我只是对jQuery比较熟悉,对AngularJS比较陌生。我不确定我是否理解,但看看我的编辑,如果它能帮到你的话。我只是看到你自己找到了:)
app.controller('IntakeController', function($scope, $timeout){
$scope.systems = [{
name: 'Cosmos',
ossi: 'Cosmos DIV'
}, {
name: 'UNET',
ossi: 'ADJ and ENG'
}];
});
<div ng-controller="IntakeController">
<h1>Intake Form</h1>
<form name="intakeform">
<div class="form-group">
<label for="sourceSystem">Source System</label>
<select class="form-control" ng-model="system" ng-options="s.name for s in systems" >
<option value="">Select Source System</option>
</select>
</div>
<div class="form-group">
<label for="otherSystem">Other Source System Indentifiers</label>
<input type="text" ng-model="system.ossi" class="form-control" placeholder="Other Source System Indentifiers">
</div>
</form>
</div>