2016-03-03 4 views
-2

Я пытаюсь отключить кнопку (даже когда пользователь закрывает или обновляет браузер) с помощью localstorage и jq, но я не смог это сделать ... Мне удалось создать постоянный список фаворитов, но я хочу отключить опцию создания нового любимого, когда он уже создан.Кнопка Mantain отключена с помощью Localstorage & jquery

Вот мой код:

<html> 
<head> 

<title>Marcadores</title> 

<script src="js/jquery-1.11.3.js" type="text/javascript"></script> 
<script src="js/jquery-1.11.3.min.js" type="text/javascript"></script> 



<script> 
$(document).ready(function() { 
    var $ul = $('#bookmarks'); 

    //get items from local storage 
    if(localStorage.getItem('links')){ 
    $ul.html(localStorage.getItem('links')); 
    } 

    $('#cita01').click(function() { 
    $('#bookmarks').append('<li><a href="#">Esta es la cita número 1</a><button class="eliminar01">remove</button></li>'); 
    localStorage.setItem('links', $ul.html()); 
    $("#cita01").attr('disabled', true); 
    }); 


    //remove item 
    $("#bookmarks").on('click','.eliminar01',function() { 
     if (confirm("¿Estás seguro de eliminar este favorito?")) { 
     $(this).parent().remove(); 
     //save changes to localstorage 
     localStorage.setItem('links', $ul.html()); 

     $("#cita01").attr('disabled', false); 
    } 
    return false; 
    }); 
}); 
</script> 


<style> 
#cita01{ 
    width: 60px; 
    height: 40px; 
    background: green; 
} 

.eliminar01{ 
    width: 60px; 
    height: 40px; 
    background: red; 
} 

</style> 

</head> 

<body> 

<div class="wrapp"> 

    <h1>Bookmarks</h1> 
    <ul id="bookmarks"></ul> 
    </div> 

    <div id="grupo"> 
     <h1>Quotes</h1> 

     <div class="quote"> 
      <p>L isjf sldzh valshlsah akuhcEbitat ut la soluptatem re sequae nis commodit re volori res atium aliquunt utas apediti qui tetus cus, consedi ctotatem quod es mollabo restibe rchiti ressit hiti officie nimolup.</p> 
     <button id="cita01">Add</button> 
     </div> 

</div> 
</body> 
</html> 

Я уверен, что проблема здесь: $("#cita01").attr('disabled', false);


Любой может помочь мне с этим вопросом? Большое вам спасибо!

ответ

0

Как вы уже догадались, это правильно. Изменение ниже:

$("#cita01").attr('disabled', false); 

To:

$("#cita01").removeAttr('disabled'); // or 
$("#cita01").prop('disabled', false); 

The .attr() используется только для установки значений. Он по-прежнему устанавливает disabled="false", но браузер делает его отключенным. Вы должны либо использовать новый .prop() и установить false, либо вместо этого использовать старый .removeAttr().

Быстрое исправление: Заменить все .attr() на .prop().

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