2015-01-26 4 views
-4

JQuery функция внутри DataList управления

$(function() { 
 
    $('a.detials').on('click', function (ev) { 
 
    $(this).next('div').toggle(); 
 
    }); 
 
});

вопрос здесь я хочу Toogle в DIV, когда якорь тег нажмите .Но у меня есть проблемы с моим кодом я не что wrong.i поиск на google, чтобы достичь этого результата, и когда я нажимаю на тег привязки, div не открывается, мне нужна помощь.

$ (функция() { $ ('a.detials') на ('нажмите', функция() { $ ('+ ДИВ', это) .toggle();. `` }) ; });

<asp:DataList ID="dtlRoomsPrice" Visible="false" orizontalAlign="center" runat="server" ShowFooter="False" ShowHeader="False" Width="700px" OnItemDataBound="dtlRoomsDetails_ItemDataBound"> 
 
    <ItemTemplate> 
 
     <a href="javascript:void(0);" class="detials">ShowDetails</a> 
 
    <div class="shoow" id="div_ID" style="width:687px;height:110px;background-color:rgb(247,239, 216);border-radius: 5px;box-shadow: 7px 6px 5px #888888; border: 2px solid gray; display:none;padding: 5px; "> 
 
       <asp:Label ID="lblAmiintiesTxt" runat="Server" CssClass="shbe_label" Text="<%$ Resources:Resource,Amenities %>" Visible="false"></asp:Label> 
 
       <asp:Label ID="lblAmiinties" runat="Server" CssClass="shbe_h2" Text='<%# Eval("Amenities") %>' Visible="true"></asp:Label> 
 
      </div> 
 
     </ItemTemplate> 
 
    </asp:DataList>

ответ

0

Потому что нет ни одного обработчика нажмите назначенный для первого щелчка. Это то, что происходит:

  1. Пользователь нажимает на элемент
  2. Функция togglee вызывается
  3. Обработчик нажмите присваивается элементу
  4. Пользователь нажимает на элемент снова
  5. Нажмите обработчик вызывается (то, что вы хотел произойти в первый клик)
  6. (Также еще один обработчик кликов добавляется путем повторного вызова togglee. определенно не то, что вы хотите.)

Я не уверен, почему вы используете эту функцию togglee, но она вам не нужна. Удалите встроенный JavaScript из элемента:

<a href="javascript:void(0);" class="detials">ShowDetails</a> 

и назначить обработчик щелчка при загрузке страницы:

$(function() { 
    $('a.detials').on('click', function() { 
     $('+ div', this).toggle(); 
    }); 
}); 

Тогда первый щелчок на этом элементе (и любой последующий клик) будет вызывать этот обработчик щелчка ,

+0

Я делаю это так, но не работаю. – boshkash

+0

@boshkash: Определите «не работает». Каков фактический код, который вы написали? Как это происходит? – David

+0

the div не открыт, функция тоже. – boshkash

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