2016-05-31 111 views
-4

類似jquery的一種新功能,無法在此上找到我的頭。任何幫助將不勝感激。選擇具有最高數據銷售屬性的選項

將檢查的屬性添加到具有最高數據屬性的無線電輸入。

一個。如果列表底部的無線電輸入具有disabled =「disabled」屬性,請選擇第二個最高選項。

例如

<ul class="sales"> 
<li><input type="radio" data-sale="20"/></li> 
<li><input type="radio" data-sale="50"/></li> 
<li><input type="radio" data-sale="55"/></li> 
<li><input type="radio" checked="checked" data-sale="60"/></li><!--add checked attribute--> 
<li><input type="radio" disabled="disabled" data-sale="90"/></li> 

。如果禁用屬性不在列表的底部,仍然檢查最高的廣播。

例如

<ul class="sales"> 
<li><input type="radio" data-sale="20"/></li> 
<li><input type="radio" data-sale="50"/></li> 
<li><input type="radio" disabled="disabled" data-sale="55"/></li> 
<li><input type="radio" data-sale="60"/></li> 
<li><input type="radio" checked="checked" data-sale="90"/></li><!--add checked attribute--> 

自然的HTML應用在列表中的第一個電臺的檢查。在這種情況下,數據銷售= 20

我必須將該數據銷售屬性附加到一個容器跨度。

非常感謝您的幫助。

+2

谷歌檢查你問這個問題之前....所以會幫你只有當你試圖與襲擊那... –

+2

請添加你試過的問題。 –

回答

1

我不確定它是否是您需要的,但是: 首先,使用與您的收音機按鈕相同的名稱來鏈接它們。

<ul class="sales"> 
    <li><input type="radio" name="rad" data-sale="20"/></li> 
    <li><input type="radio" name="rad" data-sale="50"/></li> 
    <li><input type="radio" name="rad" data-sale="55"/></li> 
    <li><input type="radio" name="rad" data-sale="80"/></li> 
    <li><input type="radio" name="rad" disabled="disabled" data-sale="90"/></li> 
    </ul> 
Result :<span id="result"></span> 

這裏jQuery代碼:

var max_ds = 0; 
    $.each($("input:radio"), function() { 
    var data_sale = $(this).attr("data-sale"); 
    if (!$(this).prop('disabled')) { 
     if (max_ds < data_sale) { 
      max_ds = data_sale; 
      $(this).attr("checked", true); 
      $("#result").empty().append(data_sale); 
     } 
    } 
    }) 

您可以在此JSFiddle

+0

感謝您的回覆。基本上我有一個輸入列表:收音機。無線電預先選擇最低的數據銷售,即20和一些無線電已禁用屬性。它可能是一個或多個無線電具有禁用屬性,並且數據銷售值顯示在span#結果中,我需要的是當頁面加載而不是檢查最低數據銷售時,它將檢查最高數據銷售,在這種情況下是90.並且在更改時它將更新跨度#結果。你的解決方案看起來很有前途,我正試圖實現這一點我的這種狀況是什麼意思? (!$(this).prop('disabled')) – delled

+0

(!$(this).prop('disabled'))=如果元素沒有禁用該屬性 –