gpt4 book ai didi

javascript - 如何正确控制 radio 并使用 Angular 选择值

转载 作者:行者123 更新时间:2023-12-03 12:14:15 25 4
gpt4 key购买 nike

我正在尝试在页面加载时设置 radio 和 select 元素的值,如果当前 URL 包含 typeannee 参数,那么我设置这些params 作为单选和选择的值,否则如果没有,我将它们分别设置为 1 和 2014。

我正在使用这段代码来处理这个问题:

html

<span class="form-group" ng-controller="FiltreFicheController as ffCtl">
<input type="radio" name="type" ng-model="type" value="1" style="margin-left:10px;" ng-change="ffCtl.checkRadio(1)" ng-checked="ffCtl.isChecked(1)"> Tout
<input type="radio" name="type" ng-model="type" value="4" ng-change="ffCtl.checkRadio(4)" ng-checked="ffCtl.isChecked(4)"> 4 mois
<input type="radio" name="type" ng-model="type" value="6" ng-change="ffCtl.checkRadio(6)" ng-checked="ffCtl.isChecked(6)"> 6 mois
<input type="radio" name="type" ng-model="type" value="8" ng-change="ffCtl.checkRadio(8)" ng-checked="ffCtl.isChecked(8)"> 8 mois
<input type="radio" name="type" ng-model="type" value="12" ng-change="ffCtl.checkRadio(12)" ng-checked="ffCtl.isChecked(12)"> 12 mois
<select name="annee" ng-model="annee">
<option value="2014" ng-selected="ffCtrl.isSelected(2014)">2014</option>
<option value="2000" ng-selected="ffCtrl.isSelected(2000)">2000</option>
</select>
</span>

js

app.controller('FiltreFicheController', function($scope, $location){
var link = document.URL;
var type_param = (!location.search.indexOf('?', link)?location.search.split('type=')[1].split('&')[0]:'undefined');
var annee_param = (!location.search.indexOf('?', link)?location.search.split('annee=')[1]:'undefined');
this.type = (type_param!=='undefined'?type_param:1);
this.annee = (annee_param!=='undefined'?annee_param:2014);

this.isChecked = function(numRadio){
return this.type === numRadio;
}

this.isSelected = function(annee){
alert(link);
return this.select === annee;
}

this.checkRadio = function(numRadio){
this.type = numRadio;
window.location.href = link.substring(link.indexOf('/'),link.lastIndexOf('/')) + '/fiche?type=' + numRadio + '&annee=' + this.annee;
}
});

但这行不通。仅当 URL 中未设置任何参数且仅将 type 单选设置为 1 时,它才有效。

请问我该如何解决这个问题?

非常感谢!

最佳答案

我认为你的问题是 type_paramthis.type 是字符串类型,但你的 numRadio 参数是 int 类型。所以它检查 f.e. 2 === “2”,这是错误的。

所以你可以这样做 this.type = (type_param!=='undefined'?parseInt(type_param):1);

关于javascript - 如何正确控制 radio 并使用 Angular 选择值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24805196/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com