0

ねえ、私はiveが作成したクリックされたカスタムラジオボタンの値を取得しようとしています。

ボタンの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:undefinedが表示されます。

私は何が欠けていますか?

4

2 に答える 2

1

fValue = $(this).attr("store-id");しないでくださいfValue = $(input).attr("store-id");

store-idクリックハンドラー関数に渡される引数は、明らかに属性を持たないクリックイベント自体です。

この状況では、オブジェクトは(クリックイベントのターゲットDOM要素)thisと同じになります。input.target

于 2012-10-04T15:01:31.550 に答える
1

「this」alaを使用する必要があります。

fValue =  $(this).attr("store-id");
于 2012-10-04T15:01:59.857 に答える