0

サービスから返される配列から動的ラジオ ボタンを生成しています。返される各アイテムには住所データが含まれています。データから値を取得する方法は知っていますが、選択したアイテムからすべての値を取得するにはどうすればよいですか? これが私がこれまでに持っているものです:

function showAddresses(item) {
    window.addNo2 = item.streetno;
    window.addStr2 = item.streetname;
    window.addCity2 = item.city;
    window.addSt2 = item.state;
    window.addZip2 = item.zip;
    window.latLong2 = item.latlng;
    $('#multiAdds').show();
    $('#results').append('<p><input type="radio" name="multiAdds" class="radioButton" onclick="getChecked()" value="' + latLong2 + '">' + addNo2 + ' ' + addStr2 + </p>');
}

function getChecked(){
    var latLong2 = $("input[name=multiAdds]:radio:checked").val();
    getJurisdictionMulti(latLong2, addNo2, addStr2, addCity2, addSt2, addZip2);
}

基本的に、選択したラジオ ボタンから関連するすべての住所データを取得し、getJurisdictionMulti() 関数に渡すことができるように、それらを使用して個別の変数を作成できる必要があります。

4

1 に答える 1

0

このような場合には、HTML-5 data-* Attributes を使用できます。これは単純なケース (大まかな例) であり、まだ最適化できます。

この属性を data-customとしましょう

var custom =  latLong2 + ',' + addNo2 + ',' + addStr2 + ',' + addCity2
             + ',' + addSt2 + ',' + addZip2 ;
$('#results').append('<p><input data-custom="' + custom + '" type="radio" name="multiAdds" class="radioButton" onclick="getChecked()" value="' + latLong2 + '">' + addNo2 + ' ' + addStr2 + </p>');


function getChecked(){
    var values = $("input[name=multiAdds]:radio:checked").data('custom').split(',');
    var latLong2 = values[0] ;
    var addNo2 = values[1] ;
    var addStr2 = values[2] ;
    var addCity2 = values[3] ;
     var addSt2 = values[4] ;
    var addZip2 = values[5] ;
    getJurisdictionMulti(latLong2, addNo2, addStr2, addCity2, addSt2, addZip2);
}
于 2012-10-24T20:28:52.153 に答える