2016-03-07 2 views
0

У меня есть страница индекса, где у меня есть кнопка Create. При нажатии кнопки создания открывается новое представление под названием CreateStudent Просмотр, где у меня есть несколько вкладок bootstrapp. Каждая вкладка вызывает на нем кнопку. Индексные: КнопкаКак отключить кнопку с помощью jquery

<div class="row"> 
    <div class="col-md-6 text-right"><a class="btn btn-default CreateMe" href="/MyProject/StaffCreate" role="button">Create New</a></div> 
</div> 

И CreateStudent View имеет кнопку LogOnAdd на одном из вкладки:

<div class="row"> 
    <div class="col-md-8 text-right"> 
     <a class="btn btn-default LogonAdd" id="LogonAdd" href="#" role="button">Add </a> 
    </div> 
</div> 

Использования ниже JQuery Я пытаюсь отключить кнопку LogOnAdd.

$('.CreateMe').click(function() { 
    $(".LogonAdd").attr("disabled", true); 
}); 

Но вышеуказанный код jquery не работает. Кнопка не отключается. Может ли какой-нибудь орган определить, какую ошибку я сделал в jquery.Я использую vs 2010 и mvc4.

Я сомневаюсь, что он не может найти контроль.

+0

Попытайтесь посмотреть [здесь] (http://stackoverflow.com/questions/15122526/disable-button-in-jquery/33696585), вопрос кажется похожим на ваш. – prtnkl

+0

Не дубликат, поскольку он говорит о кнопке на той же странице – jubi

ответ

2

Попробуйте добавить класс в теге привязки, если вы хотите, чтобы отключить его, и в CSS вы можете установить события мыши не делать ничего на ней, вот

$('.CreateMe').click(function() { 
    $('.LogonAdd').addClass('disabledLink'); 
}); 

И CSS

a.disabledLink { 
    pointer-events: none; 
} 

Чтобы снова включить ссылку, просто удалите класс.

$('.LogonAdd').removeClass('disabledLink'); 

Edit 1: Так как вы сказали, что вы должны отключить кнопку, которая является другим видом, но обрабатывать Инвалидизирующие вещи в текущем окне вы можете сделать это, Установить переменный сказать, если кнопка должна быть отключен или нет, при загрузке страницы второго представления запустите сценарий jquery, чтобы проверить это значение и переключить состояние ссылки. Вот фрагмент кода

$('.CreateMe').click(function() { 
    localStorage.setItem('disableLogOnAdd', true); //set 
}); 

На документе готового события второй страницы этого

if(localStorage.getItem('disableLogOnAdd')){ 
    $('.LogonAdd').addClass('disabledLink'); 
} 

Примечание: сохраняйте правило CSS, чтобы удалить события указателя, как упоминалось выше.

+0

якорь не введен, 'disabled' boolean атрибут не влияет на него –

+0

попробовал. но не работает в моем случае. Обратите внимание на кнопку CreateMe на индексной странице, и кнопка, которую мне нужно отключить, находится на другой странице. Это проблема? – jubi

+0

@jubi проверить мой обновленный ответ. –

1

disabled атрибут работает только на <input> теги. вы не могли бы использовать его с помощью якоря, это не повлияет.

Поскольку вы используете самозагрузки атрибут disabled будет работает на якорь с role='button' он должен быть true:

$('.LogonAdd').attr("disabled","true"); 
//OR 
$('.LogonAdd').attr("disabled","disabled"); 

Примечание: Это не будет работать в текущем контексте, так как вы пытаетесь отключить элемент, который не находится на текущей странице.

Так что, если я действительно понимаю, что другие кнопки находятся на одной странице только на разных вкладках. если это так, вы можете отключить кнопки на других вкладках по умолчанию (в html-коде), а затем включить их, когда вы нажимаете кнопку сохранения на первой вкладке.

Надеюсь, это поможет.

+0

Тем не менее он включен. – jubi

+0

якорь не вводится, атрибут 'disabled' boolean не влияет на него –

+0

Я нахожу кнопку в правильном направлении. – jubi

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