2012-10-04 72 views
0

嘿,我想要獲得點擊自定義單選按鈕的價值。jQuery構成的屬性沒有得到價值

這裏是按鈕的JS:

$("#df-opt0,#df-opt1,#df-opt2,#df-opt3,#df-opt4").click(function (input) { 
    $('#df-opt0').css("background-image", "url(img/radiobutton-OFF.png)"); 
    $('#df-opt1').css("background-image", "url(img/radiobutton-OFF.png)"); 
    $('#df-opt2').css("background-image", "url(img/radiobutton-OFF.png)"); 
    $('#df-opt3').css("background-image", "url(img/radiobutton-OFF.png)"); 
    $('#df-opt4').css("background-image", "url(img/radiobutton-OFF.png)"); 
    //alert($(this).attr('id')); 
    $('#' + $(this).attr('id')).css("background-image", "url(img/radiobutton-ON.png)"); 
    //globalRadioSelected = $(this).attr('id'); 

    fValue = $(input).attr("store-id"); 
    alert('the ID :'+fValue); 
}); 

這是HTML:

<div id="df-opt0" store-id="100"></div> 
<div id="df-opt1" store-id="200"></div> 
<div id="df-opt2" store-id="300"></div> 
<div id="df-opt3" store-id="400"></div> 
<div id="df-opt4" store-id="500"></div> 
<div id="df-opt4txt" store-id="600"> 
    <input type="text" id="df-opt4txt-txt" style="width: 130px;" class="formBoxes"> 
</div> 

什麼,當我對其中任何點擊我得到的是:的ID:未定義

我在想什麼?

+0

這可能是值得使用'數據'屬性,而不僅僅是一個自定義屬性。例如使用'data-store-id'。如果你閱讀這個SO帖子,你會看到爲什麼http://stackoverflow.com/questions/7261619/jquery-data-vs-attr –

回答

1

你應該用「這個」 ALA:

fValue = $(this).attr("store-id"); 
+0

作品!謝謝您的幫助! – StealthRT

1

fValue = $(this).attr("store-id");不是fValue = $(input).attr("store-id");

傳遞給您的點擊處理函數的參數是點擊事件本身,它顯然沒有store-id屬性。

在這種情況下,this對象將與input.target(click事件的目標DOM元素)相同。

+0

$(input.target)也應該工作。 – David

+0

@David editted ...謝謝 –

+0

謝謝你,Sidharth! – StealthRT