我寫了一個代碼,用於在單擊鏈接時顯示div元素(shareform),並在鏈接再次單擊時隱藏它。我有許多窗體,在這個窗體下將顯示這個「分享」鏈接。如果我只有一個窗體,此代碼工作正常。也就是說,最初'shareform'元素是隱藏的,當我點擊鏈接時,它會顯示出來,當我再次單擊該鏈接時,'shareform'被隱藏。隱藏/顯示div類
如果我有2個窗體,第二個窗體的'shareform'元素最初不會隱藏。這不是$('#shareform')。hide();假設隱藏所有共享鏈接的表單?
此外,當我點擊第二個「共享」鏈接時,'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>
編輯: 對不起,其實我想怎麼把這個類是指單獨的鏈接只隱藏id元素share_form,不是類「分享」。我也改變share_form分享,它仍然無法正常工作。
編輯2:
好吧,我已經改變了ID類,即類= 'shareform'。現在,shareform類最初是隱藏的。但是,如果我點擊「分享」鏈接,則會爲這兩個表單顯示「shareform」類。
一個簡單的建議,以簡化一些事情。爲什麼不設置shareform的CSS來顯示:none而不是使用$('#shareform')。隱藏(); 另一個建議,您是否查看過PHP頁面的源代碼/輸出以確認您使用的是正確的ID?切換shareform ID的可見性應該非常簡單,您應該可以使用$(「#shareform」)來選擇它 – mga911 2009-07-15 07:11:59
根據您的「編輯2」更新,我更新了我的答案。 – mga911 2009-07-15 07:19:43