[英]Unable to add/remove disabled attribute in button based on checkbox checked property
jQuery:
<script type="text/javascript">
function enableDisableButton() {
var isChecked = ($('input[name=ignore-checkbox]').is(':checked'));
if (isChecked == true) {
$("button[name=set-up-account]").removeAttr("disabled");
}
else {
$("button[name=set-up-account]").attr("disabled", "disabled");
}
}
$('#mobilePage').live('pageinit', function (event) { //document ready for jquery mobile
enableDisableButton();
$('#ignore-checkbox').bind("change", function () {
enableDisableButton();
});
});
</script>
HTML:
@using (Html.BeginForm("Account", "SetUpAccount", FormMethod.Post, new { @id = "account-set-up", @data_ajax = "false" }))
{
<div class="ui-grid-a field">
<div class="ui-block-a" style="width:140px;">
<label for="ignore-checkbox">Ignore</label>
<input type="checkbox" name="ignore-checkbox" id="ignore-checkbox"/>
</div>
</div>
<div style="width:100%;float:left;">
<button type="submit" name="set-up-account" id="set-up-account" data-inline="true" data-mini="true">Set Up Account</button>
</div>
}
我想啟用/禁用基於復選框選中屬性的“ Set Up Account
按鈕。 如果選中復選框,則啟用按鈕,否則禁用。 在頁面加載中,我禁用了該按鈕
我面臨的問題是
在頁面加載時,其禁用按鈕,但不基於復選框的更改事件添加/刪除禁用的屬性,我在Firebug中進行了檢入,它基於選中和未選中的值正確進入了循環。
注意:我正在使用Jquery mobile 1.2和jQuery 1.7。 另外,在這里發布我在谷歌搜索之前,根據復選框的選中值,在啟用和禁用按鈕下有很多發布。 但沒有一個解決我的問題。
有什么問題? 請幫我
謝謝...
我不確定這是否有助於解決您的主要問題,但是根據http://api.jquery.com/prop/,您應該使用.prop()函數而不是.attr添加和刪除禁用的屬性()和.removeAttr()函數。
要添加屬性:
.prop("disabled", true);
刪除屬性:
.prop("disabled", false);
在尋找以上信息時,我偶然發現了這個問題,所以我想分享一下。
由於Jquery Mobile,無法啟用按鈕。 在JQM中,我們需要在處理表單元素的同時刷新它
解決方案是
function enableDisableButton() {
var isChecked = ($('input[name=ignore-checkbox]').is(':checked'));
if (isChecked) {
$("button[name='set-up-account']").removeAttr("disabled").button('refresh');
}
else {
$("button[name='set-up-account']").attr("disabled", "disabled").button('refresh');
}
}
$('#mobilePage').live('pageinit', function (event) {
enableDisableButton();
$('#ignore-checkbox').bind("change", function () {
enableDisableButton();
});
});
通過添加解決了問題
.button('refresh');
像這個
$('#setagb').change(function(){
if ($(this).is(':checked'))
{
$("#submit").removeAttr("disabled");
}
else
{
$("#submit").attr( "disabled", "disabled" );
}
});
嘗試這個
$("input[name=ignore-checkbox]").click(function() {
$("button[name=set-up-account]").attr("disabled", this.checked);
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.