2012-05-09 17 views
0

タブを選択せず​​に削除したい。タブを選択して削除するとjqueryでタブを選択せず​​にタブを削除する方法

<!DOCTYPE html> 
<html> 
<head> 
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script> 
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"> </script> 
</head> 
<body style="font-size:62.5%;"> 

<div id="tabs"> 
    <ul> 
</ul> 
</div> 
<input type='button' id='addTab' value='Add Tab'> 
<input type='button' id='removeTab' value='RemoveTab'> 
</body> 
</html> 

JS:

$(document).ready(function() { 
    $("#tabs").tabs({ 
     tabTemplate: "<li><a href='#{href}'>#{label}</a> <p title='close' id='removeTab' style='cursor:pointer;display:inline'>x</p></li>" 
    }); 
}); 

$(function() { 
    var index = 0; 
    index++; 

    $("#addTab").live('click', function() { 
     index++; 
     var title = 'Tab..... ' + index; 
     var url = '#fragment-' + index; 
     addTab(url, title, index); 
    }); 

    function addTab(url, title, index) { 
     $('#tabs').tabs("add", url, title, [index]); 
    } 

    $('#removeTab').live('click', function() { 
     var $tabs = $('#tabs').tabs(); 
     var selected = $tabs.tabs('option', 'selected'); 
     alert(selected); 
     $('#tabs').tabs("remove", [selected]); 
    }); 
});​ 

JSフィドルhttp://jsfiddle.net/andrewwhitaker/6VrwD/27/

+0

どのタブを削除しますか? – skafandri

答えて

1

クリックしたタブが選択されていなくても削除されている作業例http://jsfiddle.net/k44Wk/です。

はここで働く事を作るために修正部分です:

$('#removeTab').live('click', function() { 
    var $tabs = $('#tabs').tabs(); 
    var selected = $tabs.tabs('option', 'selected'); 
    if(selected == -1) 
     selected = $('p[id=removeTab]').index(this); 
    $('#tabs').tabs("remove", [selected]); 
}); 

ことの一つは、あなたが複数の要素に同じIDを使用しないでください。

1

あなたは後の最初のタブを選択することができ、それが

HTMLの作品はありません、それを選択せず​​にfine.Andの作品このように削除:http://jsfiddle.net/6VrwD/28/ 私はあなたがseleのようなより複雑なロジックを把握することができたコードを使用して次のタブが存在する場合はそのタブを表示します。

+0

しかし、私はそれを選択せず​​にクリックしたタブを削除したい –

1

「x」アイコンをクリックしたタブからhref属性を取得して、そのタブを削除することができます。あなたは行って、それを行うことができ、次の

var link = $('a', $(this).parent()).attr('href'); 
$('#tabs').tabs("remove", link); 

唯一のことは、(あなたができるあなたが防ぐべきか)Xのアイコンと同じIDを持って削除ボタンで、今の要素の最初のを探しています彼の親は(この場合は)です。最高ののは、削除の送信を削除するか、それをクリックするための別の機能を作成することです。

関連する問題