Есть спрятанный div с name = "название команды" со списком игроков этой команды; есть input, в который вписывается название команды; и есть textarea, при фокусе на которую берется название команды из input-а, ищется div с таким именем, и в результате этот div показывается рядом.
Т.е. у нас появляется textarea, в которую нужно вписать авторов голов, а рядом div со списком игроков, при клике на имя - оно добавляетяся в textarea.
Проблема в следующем:
Фокусируюсь на textarea, появляется div, выбираю нужных игроков,
div со списком игроков прячу нажатием на крестик в правом верхнем углу,
но если второй раз сфокусироваться на textarea и нажать в div-e на имя игрока - оно добавляется дважды , если 3-ий раз фокусируешься на textarea - игрок появляется трижды и т.д.
Подскажите, пожалуйста, в чем проблема!!!
Генератор отчета о матче написал, все работает, но этот баг меня бесит...
Вот листинг кода:
CSS
<style>
.teams {
border: 1px solid black;
margin: 10px;
text-align: left;
width: 120px;
padding-left: 10px;
line-height: 80%;
overflow: hidden;
background: #DCDCDC;
display: none;
}
.players {
line-height:30%;
margin-top: 0px;
}
.delete {
cursor: pointer;
width: 16px;
height: 16px;
background: url(btn-delete.gif) no-repeat center;
position: absolute;
top: 5px;
right: 5px;
}
</style>
HTML:
<div class="teams players" name="Torino_FC">
<p>Buffon</p>
<p>Viviano</p>
<p>David Luiz</p>
<p>Nesta</p>
<p>ASTORI</p>
<p>Abate</p>
<p>El Shaarawy</p>
<p>Cassano</p>
<p>MUNIAIN</p>
<span class="delete"></span>
</div>
<b>Хозяева</b> <input type="text" name="host">
<p><b>Авторы голов:</b></p>
<textarea name="goal1" rows="5" cols="30"></textarea>
и сам JS
$('textarea[name=goal1]').focus(function(){
var coords = $(this).offset();
var len = $(this).innerWidth();
var div_team = $('input[name=host]').val();
div_team = div_team.replace(/\s/g, '_');
div_team = div_team.replace(/-/g, '_');
$('div[name='+div_team+']').css({
position: 'absolute',
left: coords.left + len +'px',
top: coords.top+'px',
zIndex: 999,
display: 'inline',
opacity: '0.7'
});
$('div[name='+div_team+'] p').click(function(){
var item = $(this).html();
if($('textarea[name=goal1]').val().length){
item = $('textarea[name=goal1]').val()+', '+item;
}
$('textarea[name=goal1]').val(item);
return false;
});
});
$('span.delete').click(function(){
$(this).parent().hide();
});