2014-09-11 27 views
0

這是我的jsfiddle如何打開和關閉一個div如果點擊了兩次

http://jsfiddle.net/1ty1v8u1/5/

如果一個元素被點擊了兩次,我如何能實現切換行爲,對於特定的div?

如果我點擊辦公室兩次在jsfiddle如何使它打開和關閉?

這是我的代碼

function showRestaurantDetailsByLocation(response,locationname) 
{ 
    $('.restListings').remove(); 
    $('.addNewRestaurant').remove(); 
    var ulhtml = $('<ul class="restListings"></ul>'); 
    var divhtml = $('<div class="inner-intit"><sub class="sub">Your Favorite Area</sub></div>'); 
    divhtml.append('<br>'); 
    var $newbutton= $('<input/>').attr({ type: 'button', location:locationname , name:'btn1', class:'btn btn-success addNewRestaurant', value:locationname}); 
    for(var i=0;i<response.length;i++) 
    { 
     divhtml.append('<li><h6>'+response[i].area+'</h6><p>'+response[i].address+'</p><span id="delete" class="inDelete inDeleteSub"></span></li>'); 
    } 
    divhtml.append($newbutton); 
    ulhtml.append(divhtml); 
    $("#"+locationname).append(ulhtml); 
} 
+2

使用'.toggle()'函數來交替隱藏和顯示的DIV。 – Barmar 2014-09-11 12:21:24

+0

已經做到了,但是它刪除了整個元素。 – Pawan 2014-09-11 12:22:32

+0

刪除整個元素?它應該只是切換你指定的元素,所以你必須切換錯誤的元素。 – Barmar 2014-09-11 12:25:06

回答

2

要附加上點擊新的元素。只需在同一個div中檢查以前添加的元素。如果它存在,則簡單地將其刪除,如果不是則添加新的:

$(document).on('click', '.lielement', function() { 
    var locationname = $(this).attr("id"); 
    if($(this).find('.restListings').length) 
    $(this).find('.restListings').remove() 
    else 
    displayingRestaurantByArea(locationname); 
}); 

Working Demo

+0

非常感謝,工作很好。 – Pawan 2014-09-11 12:26:08

+0

@PreethiJain:很高興它有幫助:) – 2014-09-11 12:27:18

+0

如果你不介意的話,還有一個問題,我如何添加一些靜態文本到jsfiddle的'添加'按鈕。所以它看起來就是Add for Location。 – Pawan 2014-09-11 12:28:43

相關問題