选择在chrome上选择工作,但不是Firefox / IE
Chosen select work on chrome but not firefox/IE
我使用 angularjs 将选项从数据库加载到选定的选择中,代码在 chrome 浏览器上按预期工作,但在 Firefox 或 Internet Explorer 上,代码不会加载选项。
我尝试从指令切换到角度选择的库,这个适用于所有浏览器,但 ng-change 不会触发与事件关联的函数。
这是我的原始代码(仅适用于 chrome):.HTML
<select ng-model="addCapas" ng-change="aplicarFiltro()"
multiple class="control-group html-multi-chosen-select"
multiple="multiple" chosen style="width: 100%;">
<option ng-repeat="filt in filtros" value={{filt.nombre}}>{{filt.nombre}}</option>
</select>
JS文件:
App.directive('chosen', function($timeout) {
var linker = function(scope, element, attr) {
scope.$watch('', function() {
$timeout(function() {
element.trigger('chosen:updated');
}, 0, false);
}, true);
$timeout(function() {
element.chosen();
}, 0, false);
};
return {
restrict: 'A',
link: linker
};
});
部分 I 在选择上加载选项:
App.controller("appCtrl", function ($http,$scope) {
$http({url: "/ewisemaps/catalogoComp",
data: $.param({
catalogo: "Capas",
}),
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'}
}).success(function (res) {
if(res!=null){
$scope.filtros = [];
$scope.capas = [];
$scope.addTipolog = [];
angular.forEach(res.oapi, function (index, value) {
if(index.tipo == 1){
$scope.filtros.push({id: index.id, nombre: index.nombre, valor: index.valor, orden: index.orden});
$scope.capas.push(index.nombre);
}else{
$scope.addTipolog.push({id: index.id, nombre: index.nombre, valor: index.valor, orden: index.orden});
}
});
console.log("Carga de capas completa");
}else{
console.log("Error al cargar catalogos'n");
}
});
当我使用所选的角度时,我将模块代码更改为以下内容:var App = angular.module('App', ['localytics.directives']);
并删除我选择的指令。
关于为什么只在Chrome上工作的任何提示?或者为什么选择的Angular不会触发ng-change事件?
编辑:添加了可以测试的服务器站点http://192.168.15.100:8008/ewisemaps/capas
根据角度选择的文档:
注意:不要尝试将ngModel与ngRepeat一起使用。这是行不通的。使用 ngOptions。这样更好。
这意味着对选择标记使用 ng-repeat 可能会导致意外行为,例如,跨不同的浏览器。
尝试摆脱您的选项标签,只使用 ng-options:
<select ng-model="addCapas"
ng-options="filtro for filtro in filtros"
ng-change="aplicarFiltro()"
multiple class="control-group html-multi-chosen-select"
multiple="multiple" chosen style="width: 100%;"
</select>
仅供参考:您指向服务器站点的链接在StackOverflow上不起作用。仅当您与尝试连接的计算机位于同一区域网络上时,才能直接连接到 IP 地址。
相关文章:
- Firefox输入可以't在选择文本时滚动
- HTML选择,在DOM中选择了正确的选项,但在firefox中显示了错误的项目
- 带有动态选择选项的Firefox html5验证异常
- 选择“行在 Chrome 和 Firefox 中不起作用(生成的代码)”
- 更改 Angular 2 中选择的事件在 Firefox 和 Edge 中不起作用
- JavaScript/jQuery:获取选择功能在Firefox和Chrome中不起作用
- Angular文件上传插件:文件选择在Firefox中无法正常工作
- jQuery日期选择器在Firefox和IE的MVC部分视图上进行ajax更新后无法工作
- 禁用用户选择不会'在Firefox中无法正常工作
- 如何使用Firefox SDK(用于插件)检测双击选择的文本
- 在Chrome和Firefox中选择选项jquery 2.1.1时出错
- 选择更改本地存储在 Firefox 中不起作用
- 在 Firefox 中单击鼠标时无法选择所有输入元素文本
- 在旧版本的 Firefox 中回发页面时,未在下拉列表中选择值
- 为什么从位置哈希中选择下拉列表在 Chrome 上有效,但不适用于 Firefox、IE 或 Safari
- Firefox 中的 Primefaces 自动完成功能不会在选择时关闭
- 如何在 Firefox 中单击另一个复选框时一次取消选择多个复选框
- 选择带有“其他”选项的框未显示在Chrome和Firefox中
- 在 Firefox 中,当选择具有位置和 z 索引时,为什么更改事件不会在选项卡上触发
- 无法从下拉菜单中选择firefox(适用于Chrome)