2012-01-25 61 views
2

我該如何去實現允許根據所選圖像自動填充隱藏字段值的功能(在本例中基於錨定鏈接)當這個菜單在裏面的表單被提交時,它可以被傳遞。我認爲在下一頁上重新定位錨定鏈接可能會有點問題,如果有人想要惡意並在提交鏈接之前編輯#後面的值。在這種情況下,我想爲到如果第一個選項被點擊,傳遞錯誤的內容,第二,等等等等(基本上它填補了無論是目前在錨鏈接)如何讓jQuery根據所選圖像填充隱藏表格

菜單代碼 -

<div id="feedback-topic.buttons"> 
    <a href="#bug"><img src="lib/feedback-bug_off.jpg" alt="bug" width="75" height="49" border="0" class="img-swap" /></a> 
    <a href="#content"><img src="lib/feedback-site_content_off.jpg" alt="site_content" width="121" height="49" border="0" class="img-swap" /></a> 
    <a href="#suggestion"><img src="lib/feedback-suggestion_off.jpg" alt="suggestion" width="117" height="49" border="0" class="img-swap" /></a> 
    <a href="#compliment"><img src="lib/feedback-compliment_off.jpg" alt="compliment" width="120" height="49" border="0" class="img-swap" /></a> 
    <a href="#checkout"><img src="lib/feedback-checkout_off.jpg" alt="checkout" width="107" height="49" border="0" class="img-swap" /></a> 
    <a href="#other"><img src="lib/feedback-other_off.jpg" alt="other" width="83" height="49" border="0" class="img-swap" /></a> 
</div> 

jQuery代碼 -

// Allows for only one feedback topic to be selected 
$(function(){ 
    $(".img-swap").live('click', function() { 
     this.src = this.src.replace('_off', '_on'); 
     $('.img-swap').not(this).attr('src', function(index, attr) { 
      return attr.replace('_on', '_off'); 
     }); 
    }); 
}); 

回答

1
  1. 查找活動圖像。
  2. 使用$(this).attr(「href」)來獲取「#link」部分。
  3. 使用.substr(1)函數去除散列。
  4. 使用.val(value) jQuery function設置表單元素的基礎上3
1

值內,您的click事件處理程序:

$(this).parent().attr('href') 

給你HREF,您可以採取的#,如果你只需添加一個輸入字段並設置其值.val()

0

在每個鏈接和切換樣式上添加CSS(或者是否要預加載圖像?):

CSS

#bug{background:url('lib/feedback-bug_off.jpg');} 
#bug.a{background:url('lib/feedback-bug_on.jpg');} 

jQuery的

$("div#feedback-topic.buttons a").live('click',function(){ 
    $("div#feedback-topic.buttons a.a").removeClass("a"); 
    $(this).addClass("a"); 
    return false; 
});