Я написал код, чтобы показать элемент div (shareform) при нажатии на ссылку и скрыть его при повторном нажатии на ссылку. У меня есть много форм, под которыми будет отображаться эта ссылка «Поделиться». Если у меня есть только одна форма, этот код работает нормально. То есть изначально элемент «shareform» скрыт, а когда я щелкаю ссылку, он отображается, а когда я снова щелкаю ссылку, «shareform» скрывается.
Если у меня есть 2 формы, элемент shareform для второй формы изначально не скрыт. Разве это не $ ('# shareform'). Hide (); Предполагается скрыть форму для всех ссылок Share?
А также, когда я щелкаю вторую ссылку «поделиться», «shareform» отображается и скрывается для первой ссылки «поделиться». Что я делаю неправильно? Кто-нибудь может мне помочь?
var flag=0;
$('#shareform').hide();
$(".Share").click(function(){
if(flag==1){
$('#shareform').hide('fast');
flag=0;
}
else{
$('#shareform').show('slow');
flag=1;
return false;
}
});//.Share click
$("#shareform .button").click(function(){
$("#userList option:selected").each(function(){
selected_value[i]=$(this).val();
alert(selected_value[i]);
i++;
});
});
<li id="Share<?php echo $r['Form']['id']?>">
<a href="#" class="Share">Share</a>
<form action="/cake_1_2/forms/share/<?=$formid?>/<?=$userid?>" method="post" name="shareform" id="shareform">
<p>Select the users with whom you want to share the Form</p>
<select id="userList" name="userList" multiple>
<?php foreach($users as $user){ ?>
<option value="<?=$user['User']['name']?>"><?=$user['User']['name'];?></option>
<?php }?>
</select>
<input type="submit" class="button" value="Share"/>
</form>
</li>
EDIT:
Извините, на самом деле я хочу скрыть только элемент id share_form, а не класс 'Share', поскольку этот класс ссылается только на ссылку. также я изменил share_form на shareform, он все еще не работает.
РЕДАКТИРОВАТЬ 2:
Хорошо, я изменил id на class, т.е. class = 'shareform'. Теперь класс shareform изначально скрыт. Но если я нажму на ссылку «Поделиться», класс «shareform» будет показан для обеих форм.