可以在jquery中捕获单选按钮组更改事件

时间:2014-11-24 06:27:14

标签: javascript jquery html jquery-mobile cordova

我正在开发一个cordova android应用程序,我使用jquery进行开发。我正在使用单选按钮组,其中单选按钮是使用以下代码动态创建的,

for(var i = 0; i < jsonArr.length; i++){

            var j = i+1;

            $('#childInfoRadioGroup').prepend('<input type="radio" class="radioInput" name="radio-choice-v-2" id="radio-choice-v-"'+j+' value="on">'+
             '<label for="radio-choice-v-"'+j+'>'+jsonArr[i].name+'</label>').trigger('create');    

            $('#childInfoRadioGroup input').eq(i).attr("id",jsonArr[i].id);

}

HTML:

<form>
    <fieldset data-role="controlgroup" id="childInfoRadioGroup">

    </fieldset>
</form>

我使用以下代码捕获更改事件,

$("input[name='radio-choice-v-2']").on("change", function () {
    alert("changed!");
});

但我无法捕获上述事件。任何人都有任何想法?提前谢谢..

2 个答案:

答案 0 :(得分:2)

由于您是动态生成HTML,请尝试事件委派,如下所示: -

$(document.body).on("change","input[name='radio-choice-v-2']", function () {
    alert("changed!");
});

OR

$("#childInfoRadioGroup").on("change","input[name='radio-choice-v-2']", function () {
    alert("changed!");
});

Reference

答案 1 :(得分:0)

$(document).on("change","input[name='radio-choice-v-2']", function () {
    alert("changed!");
});