Jquery 方法不禁用按钮
Jquery method not disabling buttons
我正在尝试通过 JQuery 方法禁用按钮。它应该通过向它们添加属性和 类 来工作,但它不起作用。
我检查过我发送的 ID 是否正确,我在控制台中没有收到任何错误,但按钮没有被禁用。
$('[id^="pro2-consult"]').on("click", function (event, xhr, settings) {
var id=event.target.id.substring(12);
DisableBTNforConsult(id);
});
function DisableBTNforConsult(id) {
var cont1='#pro-save'+id;
var cont2='#pro-create'+id;
$(cont1, cont2).prop('disabled', true);
$(cont1, cont2).addClass('btn-disabled');
$(cont1, cont2).attr('disabled', 'disabled');
}
<button id="pro-save-p-sis-0610" class=" btn btn-sm btn-success" type="button">Save</button>
<button id="pro-create-p-sis-0610" class=" btn btn-sm btn-success" type="button">Create</button>
<button id="pro2-consult-p-sis-0610" class=" btn btn-sm btn-success" type="button">consult</button>
根据问题 the original version 中的代码,您的 id
即将出现 "p-sis-0610"
。然后,当您将它附加到 "#pro-save"
和 "#pro-create"
时,您在两者之间缺少破折号 -
。
var cont1 = '#pro-save-' + id;
var cont2 = '#pro-create-' + id;
将 jQuery 选择器构造为单个变量。
var selector = cont1 + ', ' + cont2;
工作演示:https://jsfiddle.net/ob8taw48/
您也可以使用 jQuery 的 $(this)
来获取您的 id
。
var id = $(this).attr('id').substring(12);
$('button[id^=pro2-consult]').on("click", function() {
var id=$(this).prop('id').substring(12);
DisableBTNforConsult(id);
});
function DisableBTNforConsult(id) {
$('button:not(#pro2-consult'+id).prop('disabled', true);
$('button:not(#pro2-consult'+id).addClass('btn-disabled');
$('button:not(#pro2-consult'+id).attr('disabled', 'disabled');
}
.btn-disabled{color:#eeddcc;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="pro-save-p-sis-0610" class=" btn btn-sm btn-success" type="button">Save</button>
<button id="pro-create-p-sis-0610" class=" btn btn-sm btn-success" type="button">Create</button>
<button id="pro2-consult-p-sis-0610" class=" btn btn-sm btn-success" type="button">consult</button>
我正在尝试通过 JQuery 方法禁用按钮。它应该通过向它们添加属性和 类 来工作,但它不起作用。
我检查过我发送的 ID 是否正确,我在控制台中没有收到任何错误,但按钮没有被禁用。
$('[id^="pro2-consult"]').on("click", function (event, xhr, settings) {
var id=event.target.id.substring(12);
DisableBTNforConsult(id);
});
function DisableBTNforConsult(id) {
var cont1='#pro-save'+id;
var cont2='#pro-create'+id;
$(cont1, cont2).prop('disabled', true);
$(cont1, cont2).addClass('btn-disabled');
$(cont1, cont2).attr('disabled', 'disabled');
}
<button id="pro-save-p-sis-0610" class=" btn btn-sm btn-success" type="button">Save</button>
<button id="pro-create-p-sis-0610" class=" btn btn-sm btn-success" type="button">Create</button>
<button id="pro2-consult-p-sis-0610" class=" btn btn-sm btn-success" type="button">consult</button>
根据问题 the original version 中的代码,您的
id
即将出现"p-sis-0610"
。然后,当您将它附加到"#pro-save"
和"#pro-create"
时,您在两者之间缺少破折号-
。var cont1 = '#pro-save-' + id; var cont2 = '#pro-create-' + id;
将 jQuery 选择器构造为单个变量。
var selector = cont1 + ', ' + cont2;
工作演示:https://jsfiddle.net/ob8taw48/
您也可以使用 jQuery 的 $(this)
来获取您的 id
。
var id = $(this).attr('id').substring(12);
$('button[id^=pro2-consult]').on("click", function() {
var id=$(this).prop('id').substring(12);
DisableBTNforConsult(id);
});
function DisableBTNforConsult(id) {
$('button:not(#pro2-consult'+id).prop('disabled', true);
$('button:not(#pro2-consult'+id).addClass('btn-disabled');
$('button:not(#pro2-consult'+id).attr('disabled', 'disabled');
}
.btn-disabled{color:#eeddcc;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="pro-save-p-sis-0610" class=" btn btn-sm btn-success" type="button">Save</button>
<button id="pro-create-p-sis-0610" class=" btn btn-sm btn-success" type="button">Create</button>
<button id="pro2-consult-p-sis-0610" class=" btn btn-sm btn-success" type="button">consult</button>