ฉันสร้างฟังก์ชั่น jQuery เพื่อให้งานนี้ง่ายขึ้นเล็กน้อย ตอนนี้อาจมีทางออกที่ดีกว่า ... ทั้งสองวิธีนี่คือ 2 เซ็นต์ของฉัน :)
เพียงเพิ่มลงในไฟล์ JS ของคุณ:
$.fn.dialogButtons = function(name, state){
var buttons = $(this).next('div').find('button');
if(!name)return buttons;
return buttons.each(function(){
var text = $(this).text();
if(text==name && state=='disabled') {$(this).attr('disabled',true).addClass('ui-state-disabled');return this;}
if(text==name && state=='enabled') {$(this).attr('disabled',false).removeClass('ui-state-disabled');return this;}
if(text==name){return this;}
if(name=='disabled'){$(this).attr('disabled',true).addClass('ui-state-disabled');return buttons;}
if(name=='enabled'){$(this).attr('disabled',false).removeClass('ui-state-disabled');return buttons;}
});};
ปิดใช้งานปุ่ม 'ตกลง' ในกล่องโต้ตอบพร้อมกล่องโต้ตอบ 'ชั้นเรียน':
$('.dialog').dialogButtons('Ok', 'disabled');
เปิดใช้งานปุ่มทั้งหมด:
$('.dialog').dialogButtons('enabled');
เปิดใช้งานปุ่ม 'ปิด' และเปลี่ยนสี:
$('.dialog').dialogButtons('Close', 'enabled').css('color','red');
ข้อความบนปุ่มทุกปุ่มเป็นสีแดง:
$('.dialog').dialogButtons().css('color','red');
หวังว่าจะช่วย :)