2014-09-09 6 views
-1

Я не могу скрыть список при нажатии кнопки на частичном представлении. Это то, что я пытаюсь сделать. Но следующий код ничего не делает. Может кто-нибудь, пожалуйста, помогите мне с этим. БлагодаряКак скрыть элементы после нажатия кнопки в javascript

<script>  
    $(document).ready(function() { 
     $('#resultBtn').onclick(function (e) { 
      e.preventDefault(); 
      $('#List').hide(); 
      commit(); 
     }) 
     }); 
</script> 

ответ

0

Мы, возможно, потребуется JSFiddle, сценарий, кажется, хорошо, но я предполагаю, что проблема возникает из кода HTML5 на самом деле. В любом случае, вот некоторые советы, которые могут помочь.

#resultBtn написан на camelCase, поэтому #List должно быть #list. Кроме того, если у вас возникли проблемы, попробуйте console.log('something') в функции обратного вызова щелчка, чтобы узнать, произошло ли что-то.

О, Я, наконец, заметил проблему, вы должны легко найти ее, если вы откроете консоль своего браузера. Вы не можете сделать onclick() на элементе jQuery, это всего лишь click. Хорошая привычка может использовать Отредактируйтеon()(или bind()), вы можете найти его полезным когда-нибудь.

$(function() { 
    $('#resultBtn').on('click', function(e) { 
     e.preventDefault(); 
     $('#list').hide(); 
     commit(); 
    }); 
}); 

Надеюсь, это помогло!

+1

с jquery 1.7, bind устарел, вы должны использовать его, см. Http://api.jquery.com/on/ –

+0

Я сделал то, что вы предлагали, но таблица скрывается всего на пару секунд, и как только страница загружается при представлении, список отображается снова. – SamV

+0

@ZebRawnsley да спасибо. Вы уверены, что это устарело, я все еще использую использование, потому что иногда я нахожу unbind() полезным. – Cohars

-1

Вы можете установить дисплей свойство никому скрыть элемент

$(document).ready(function() { 
      $('#resultBtn').onclick(function (e) { 
       e.preventDefault(); 
       $('#List').css('display','none'); //<--- like here 
       commit(); 
      }) 
      }); 
+0

Нет, это Безразлично Не работай. – SamV

+0

@SamViq - см. Здесь http://stackoverflow.com/questions/3582619/how-to-change-css-display-none-or-block-property-using-jquery – Ishita

+0

Это альтернативный способ достижения того, что вы пытаясь сделать. Что именно происходит, когда вы устанавливаете свойство display равным none? – Ishita

0

сделать элемент невидимым, но относиться к нему, как будто он все еще там:

document.getElementById("resultBtn").onclick = function() { 
document.getElementById("List").style.visibility = "hidden"; 
return false; 
} 

Скрыть элемент и относиться к нему, как будто он не существует:

document.getElementById("resultBtn").onclick = function() { 
document.getElementById("List").style.display = "none"; 
return false; 
} 
+0

В современных браузерах также есть 'document.getElementById (« Список »). Hidden = true;' в современных браузерах. :-) – RobG

+0

@RobG Я думаю, что он хочет использовать jQuery. Я бы не рекомендовал его ни один, но было бы полезно держать его простым, если он хочет решить проблемы, о которых он упомянул в комментариях. Во всяком случае, вы забыли «return false». Пожалуйста, не голосуйте за хорошие ответы, просто чтобы получить свой верх. – Cohars

+0

@ Cohars-не мой голос, а не мой ответ. Я просто предлагал другой способ скрыть элемент для ** этого ** ответа. – RobG