2016-05-17 3 views
0

Я пытаюсь отключить кнопки с помощью метода JQuery. Он должен работать, добавляя к ним атрибуты и классы, но он не работает.JQuery метод не отключает кнопки

Я проверил, что отправляю правильный идентификатор, и я не получаю никаких ошибок в консоли, но кнопка не отключена.

$('[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>

+1

Как вы зывать метод, размещенную на кнопки мыши событие? – Marcelo

+0

Кроме того, где ваш элемент '# pro-create ...'? – Marcelo

+0

Я устанавливаю и обновляю весь код ... –

ответ

2
  1. на основе кода из the original version вопроса, ваш id идет вверх, как "p-sis-0610". Затем, когда вы присоедините его к "#pro-save" и "#pro-create", вам не хватает черты - между ними.

    var cont1 = '#pro-save-' + id; 
    var cont2 = '#pro-create-' + id; 
    
  2. Построить селектор JQuery в качестве одной переменной.

    var selector = cont1 + ', ' + cont2; 
    

Рабочая DEMO: https://jsfiddle.net/ob8taw48/


Вы также можете использовать JQuery-х $(this), чтобы получить id.

var id = $(this).attr('id').substring(12); 
+0

Ударьте меня в него. :) – Marcelo

+0

no id = event.target.id.substring (12); верните мне это значение = -p-sis-0610 –

+0

@ WalterNuñez, а не в моей консоли браузера. В любом случае, мой пункт №2 является основной причиной. – Sparky

0

$('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>

Смежные вопросы