2012-11-25 133 views
-4

是否有可能使用jQuery爲每個單選按鈕設置自己的背景圖像?我的意思是:背景圖像單選按鈕

Example image

<form id="tiepspiel" name="tiepspiel" action="#" method="POST"> 
     <ul id="sortable"> 
     <?php 
     $count = 5; 
     $i = 1; 
     while ($i <= $count) { 
      echo '<li><ul class="elements"> 
     <li class="selectable"> 
      <label class="stein"><input type="radio" name="selected__'.$i.'" value="stein</label> 
      <span></span> 
     </li> 
     <li class="selectable"> 
      <label class="schere"><input type="radio" name="selected_'.$i.'" value="schere"></label> 
      <span></span> 
     </li> 
     <li class="selectable"> 
      <label class="papier"><input type="radio" name="selected_'.$i.'" value="papier"></label> 
      <span></span> 
     </li> 
    </ul> 
        </li>'; 
      $i++; 
     } 
     ?> 
     <hr> 
     <button>Submit</button> 
     </ul> 
     </form> 

和我想的CSS添加到每個班級。例如:

.papier { 
    background-image: url("../images/papier_blue.png"); 
    width: 82px; 
    height: 82px; 
    cursor: pointer; 
    margin-right: 50px; 
} 
+0

爲什麼使用jQuery?你有什麼嘗試? – Ryan

+0

好吧我一直在添加一些代碼。讓我驚喜! – fefe

回答

1

背景圖像對單選按鈕本身效果不佳。你可以做的就是將它們包裝每一個<label>如下:

<ul class="elements"> 
    <li class="selectable"> 
     <label class="stein"><input type="radio" name="stein" value="stein"></label> 
     <span></span> 
    </li> 
    <li class="selectable"> 
     <label class="schere"><input type="radio" name="schere" value="schere"></label> 
     <span></span> 
    </li> 
    <li class="selectable"> 
     <label class="papier"><input type="radio" name="papier" value="papier"></label> 
     <span></span> 
    </li> 
</ul> 

然後,你的CSS應該工作原樣。

+0

抱歉告訴我,但我甚至沒有接近這個解決方法 – fefe

+0

@fefe:所以......對我而言,還有什麼可以繼續,或者只是「它不工作」 ? – Ryan

+0

@fefe:順便說一句,你也需要一個'display:inline-block;'。 – Ryan

0

您將背景樣式放在錯誤的類上。把它們放在你的.selectable類定義中。

+0

謝謝我要試一試 – fefe

0

我想你需要一種「假單選按鈕」。有很多方法可以做到這一點,包括jQuery,或者你可以輕鬆地用CSS來做到這一點。正如有人所說,你必須用spanlabel包裹單選按鈕。默認情況下,它們不是'block'元素,比如'div',所以你不能得到你的結果,除非你不會將這個屬性(display:block;或者display:inline-block;)歸爲一類。另外不要忘記設置寬度和高度(我的意思是跨度/標籤),並設置不透明度0爲單選按鈕。 我建議你看看http://ajaxian.com/archives/custom-css-inputs或者你也可以看看裏面http://www.iamntz.com/625/frontend-developer/formulare-custom-checkbox-radio-v-2/(沒關係,如果它是在羅馬尼亞,你只檢查演示,看看到的代碼)

沒有火箭科學,你只需要照顧一些東西。

+0

感謝您的反饋。你是對的。有沒有這樣做的方式,也許我採取的解決方法是不正確的。在我看看jquery ui的單選按鈕解決方案之前,這就是爲什麼我認爲也許可以指向我的解決方案。單選按鈕的問題,我無法正確隱藏 – fefe

+0

將您當前的代碼添加到http://jsfiddle.net/,我相信您會在很短的時間內找到一個aswer – stefanz