2015-08-10 3 views
0

У меня есть кнопка под названием "Send Enquiry" с пользовательским атрибутом как "provider-id", после нажатия этого button a fancybox открывается, что имеет форму для отправки запроса.Как найти кнопку с пользовательским атрибутом

То, что я хочу, как только запрос будет отправлен, то button"Send Enquiry" на этой странице должна быть disabled. (Тот, который открыл fancybox)

вот код для кнопки

<a class='btn btn-orange' provider-id='$row->provider_id' href='#EnquiryForm' id='btnSend' onclick='fillenquiry(this)'>Send Enquiry</a></div> 

все, работает нормально, я просто хочу disable, что button, после отправки запроса

ПРИМЕЧАНИЕ: на самом деле есть несколько кнопок с sa me id, поэтому я должен поместить пользовательский атрибут как "provider-id".

+0

ID элемента должен быть уникальным –

+0

'$ ('# btnSend'). Attr (" disabled ", true);' –

+0

@ AK-Sonu: это 'a', а не' button' или 'input '. И вы не должны использовать 'attr' для установки * свойств *. * И * ОП сказал, что '# btnSend' не уникален (и теперь ему сказали, что это должно быть). –

ответ

0

Поскольку вы уже умирала кнопку элемент в fillenquiry в качестве первого аргумента, так что просто сделать

$(button).addClass("disabled"); 

... в этой функции (где button является то, что имя, которое вы дали, что первый аргумент в функции), чтобы добавить Bootstrap "disabled" class.

С другой стороны, изменить a к button type="button":

<button type="button" class='btn btn-orange' provider-id='$row->provider_id' id='btnSend' onclick='fillenquiry(this)'>Send Enquiry</button> 

... а затем

button.disabled = true; 

Примечание: на самом деле есть несколько кнопок с одинаковым идентификатором, так Я должен поместить пользовательский атрибут как «идентификатор-поставщик».

Если вы действительно означает, что вы используете id="btnSend" на более чем один элемент, тот недопустимый HTML. id значения must быть уникальным. Тем не менее, это не меняет ответ выше, потому что нам не нужно использовать id, чтобы получить экземпляр кнопки.

Вам не нужно искать кнопку для выполнения этой задачи, но если по какой-то другой причине вам необходимо получить экземпляр кнопки, вы можете использовать селектор атрибута:

var $button = $('[provider-id="some-id"]'); 

.. .И затем либо

$button.addClass("disabled"); 

для a или

$button.prop("disabled", true); 

для button.

Но это вам не нужно, поскольку вы передаете его в fillenquiry.

+0

@ArunPJohny: Спасибо! Починю. –

0

Вы можете использовать:

$('a[provider-id="some-id"]').attr('disabled',true); 
0

Вы можете поместить свой fillenquiry(this) код JQuery событие щелчка

$('a[provider-id="some-id"]').click(function(e){ 
    /* paste fillenquiry() code here */ 
    $(this).unbind("click"); 
}); 
0
  1. BeforeClose Вызывается сразу после закрытия было запущено, но еще не началась Примечание: Если false возвращается обратным вызовом, закрытие будет остановлено.

  2. afterClose Вызывается после закрытия анимации закончилась

Приведенные выше методы, которые вы можете найти в FancyBox документации. Это может вам помочь.

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