我有很多帐户项目。
我在列表中显示这些内容,如
<md-list-item ng-repeat="item in items">
并且对于每个这样的项目,我在组中显示三个单选按钮,保持值
现在,用户可以为每组单选按钮选择一个值,但我想要做的只有一个管理员。
因此,如果选择了管理员值,我应该阻止所有其他管理员单选按钮。
如何做到这一点?
答案 0 :(得分:2)
使用ng-change方法将管理项存储在范围属性中,以跟踪管理员选择了哪个项目:
$scope.radioChanged = function (item) {
if (item.selectedValue == "admin") {
$scope.admin = item;
}
else if (item == $scope.admin) {
$scope.admin = undefined;
}
};
然后在管理单选按钮上使用ng-disabled,如果选择了管理员并且管理员不是当前项目,则会禁用单选按钮。
<div ng-repeat="item in items">
<label><input type="radio" name="{{item.id}}" value="admin" ng-model="item.selectedValue" ng-change="radioChanged(item)" ng-disabled="admin && item != admin"/>admin</label>
<label><input type="radio" name="{{item.id}}" value="user" ng-model="item.selectedValue" ng-change="radioChanged(item)"/>user</label>
<label><input type="radio" name="{{item.id}}" value="moderator" ng-model="item.selectedValue" ng-change="radioChanged(item)"/>moderator</label>
</div>
答案 1 :(得分:1)
我会创建一个变量,可能是#combine and create x and y (as mappings follow
#same pattern)
df.1$group <- "df.1"
df.1$x <- df.1$A
df.1$y <- df.1$B
df.2$group <- "df.2"
df.2$x <- df.2$C
df.2$y <- df.2$D
library(plyr) #for rbind.fill
df.all <- rbind.fill(df.1,df.2)
plot3 <- ggplot(df.all, aes(x=x,y=y,group=group)) +
geom_point(color='black', cex=1, pch=16 ) +
geom_smooth(aes(linetype=group),method="lm", size=1,
se=FALSE, colour="black") +
scale_y_continuous("Y scale") +
ggtitle("Plot") +
theme_bw()+
theme(plot.title = element_text(face="bold", size=20),
axis.title.x = element_text(vjust=-0.25),
axis.title.y = element_text(vjust=1),
axis.title = element_text(face="bold", size=15)
) +
#add custom linetypes (not necessary now, as default mapping to 1 and 2)
plot3 + scale_linetype_manual(values=c("df.1"=1,"df.2"=2))
,当您选择“管理员”时,该变量设置为adminExists
。在任何单选按钮上。然后你可以拥有所有的&#34; Admin&#34;单选按钮被禁用true
,如果该单选按钮是所选的管理按钮,则if(adminExists && !isSelected)
为真。
答案 2 :(得分:0)
下面的代码检查所选单选按钮的值与其他单选按钮的值,以查看它们是否匹配(在这种情况下,如果值为&#34; admin&#34;)。然后,它取消选择具有该值的所有无线电输入元素,然后检查最初单击或选择的元素以将其设置为活动。如果您也喜欢,可以将功能更改为使用数据属性而不是值。
<!-- build:js -->
<script src="js/player.js"></script>
<script src="js/monster.js"></script>
<script src="js/world.js"></script>
<!-- endbuild -->
var gulp = require('gulp');
var htmlreplace = require('gulp-html-replace');
gulp.task('default', function() {
gulp.src('index.html')
.pipe(htmlreplace({
'css': 'styles.min.css',
'js': 'js/bundle.min.js'
}))
.pipe(gulp.dest('build/'));
});
&#13;
$(".group input[type=radio]").bind("click change keydown focus", function () {
var el = $(this);
var val = el.val();
if (el.prop("checked", true) && val == "admin") {
$(".group input[type=radio]").each(function () {
if ($(this).val() == "admin") $(this).prop("checked", false);
});
el.prop("checked", true);
}
});
&#13;
.choice {
display:block;
}
&#13;