2015-03-16 2 views
1

У меня есть проект ASP.net, который использовал элементы управления Bootstrap. У меня есть следующее раскрывающееся меню Bootstrap, которое программно выводится из базы данных.Asp.net bootstrap выпадающее меню - выбор элемента

Однако, когда я нажимаю на меню и выбираю один из элементов, я, очевидно, нуждаюсь в этом элементе для показа в раскрывающемся списке. Вместо этого, когда элемент щелкнут, ничего не происходит, кроме того, что раскрывающееся меню закрыто.

<div class="btn-group"> 
<button type="button" class="btn btn-default dropdown-toggle" id="merchantList" data-toggle="dropdown" aria-expanded="false"> Choose Merchant <span class="caret"></span></button> 
<ul class="dropdown-menu" role="menu" aria-labelledby="merchantList" id="myList" runat="server"> 
<asp:Literal runat="server" id="merchantDropDown"></asp:Literal> 
</ul> 
</div> 

Я предполагаю, что какой-то JavaScript необходим для установки выпадающего меню в зависимости от того, какой элемент был выбран. Но я не уверен, как это сделать.

Я пробовал:

$("#myList li a").click(function() { 
       alert('clicked'); 
       var selText = $(this).text(); 
       $(this).parents('.btn-group').find('.dropdown-toggle').html(selText + ' <span class="caret"></span>'); 

      }); 

также попытался:

$('#myList li a').on('click', function() { 
       $('#merchantList').val($(this).text()); 

      }); 

Но они никогда, кажется, дозвонились. Есть идеи? Было бы еще лучше, если бы я мог сделать это в коде, поскольку я предпочитаю работать там.

ответ

0

Исправьте меня, если я не понимаю, что вы хотите сделать, но не сможете найти элемент, который они выбрали, и установить его css class = "active". Чтобы выяснить, что текущий элемент, который они выбрали, соответствует текущей странице, на которой они находятся, есть несколько методов, использующих URL.

Попробуйте делать что-то вроде следующего на вашей главной странице:

var url = window.location; 
$('ul.nav a[href="'+ url +'"]').parent().addClass('active'); 
+0

Thanks Brett. Моя проблема не имеет ничего общего с тем, на какой странице находится пользователь. Мне просто нужно установить текст раскрывающегося списка на любой элемент, который пользователь выбирает из раскрывающегося списка (например, любое традиционное выпадающее меню). Затем мне нужно получить доступ к этому значению в коде. –

0

Я сделал это, как это, в конце концов, и это, кажется, все будет работать. Достаточно просто, я просто не мог понять, как я новичок в JS!

<script> 

     $().ready(function() { 
     $('a').click(function() { 
      var value = $(this).text(); 
      $('#merchantList').html(value + ' <span class="caret"></span>'); 
      alert(value); 
      }); 
     }); 

</script> 
Смежные вопросы