我不知道为什么这段代码不起作用。请尝试在你的答案中具体说明,因为它一定是非常愚蠢的东西。
// reducer.ts
export const INITIAL_APP_STATE = {
dynamicComponent: {},
fieldType: {},
formCreate: {},
formList: {},
formTemplates: {},
formPreview: {},
formView: {}
};
export function getInitialState(): any {
return INITIAL_APP_STATE;
}
// app.module.ts
imports: [
// Version 1
StoreModule.forRoot(Object.assign(reducerToken, reducers), { initialState: getInitialState }),
// Version 2
StoreModule.forRoot(reducerToken, { initialState: getInitialState }),
// Version 3
StoreModule.forRoot(reducers, { initialState: getInitialState }),
]
$("#cagree").on("change", function(e){
if($("#chbx").attr("checked")){
$("#submitbtn").button("enable");
} else {
$("#submitbtn").button("disable");
}
});
答案 0 :(得分:1)
1. $("#cagree")
需要$(".cagree")
2.使用.is(":checked")
检查是否选中了复选框
3.而不是$("#submitbtn").button("enable")
做$("#submitbtn").prop('disabled', false);
,反之亦然
工作代码段: -
$(".cagree").on("change", function(e){ // it's class so use .
if($(this).is(":checked")){ // use $(this) for current-object
$("#submitbtn").prop('disabled', false); // it's property so use .prop
}else{
$("#submitbtn").prop('disabled', true);
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<!DOCTYPE html>
<html>
<head>
<title>My Page</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<div data-role="page">
<div data-role="content">
<label><input type="checkbox" name="checkbox-0" id="chbx" class="cagree"> I agree </label>
<input type="button" value="Submit" id="submitbtn" class="submit" disabled/>
</div><!-- /content -->
</div><!-- /page -->
</body>
</html>
注意: -
enable
和disable
是属性,因此请使用.prop()
进行设置。
</input>
无效,请将其删除。