检测动态生成的单选按钮和jQuery的变化
我试图发现变化动态生成的单选按钮。我有一个生成的单选按钮的表单,他们根据自己的ID保存在数据库。所以这是什么
<input type="radio" name="data[Setting][47]" id="Setting47Entry" value="entry">
<input type="radio" name="data[Setting][47]" id="Setting47Standard" value="standard">
<input type="radio" name="data[Setting][48]" id="Setting48Entry" value="entry">
<input type="radio" name="data[Setting][48]" id="Setting48Standard" value="standard">
<input type="radio" name="data[Setting][49]" id="Setting49Entry" value="entry">
<input type="radio" name="data[Setting][49]" id="Setting49Standard" value="standard">
没有预定数将显示单选按钮。有可能是2或20,这取决于其他的选项,用户设置。
我知道如何检测变化如果名字是静态的,但由于名称是不同的每个用户,我不知道如何处理。
你为什么不使用attribute starts with selector
尝试,
$('input[name^="data[Setting]"]').change(function(){ });
如果名称是动态的,独特的和没有线索来选择他们的名字使用静态的东西,像类名…
<input type="radio" class="user-option" name="data[Setting][47]" id="Setting47Entry" value="entry">
<input type="radio" class="user-option" name="data[Setting][47]" id="Setting47Standard" value="standard">
<input type="radio" class="user-option" name="data[Setting][48]" id="Setting48Entry" value="entry">
<input type="radio" class="user-option" name="data[Setting][48]" id="Setting48Standard" value="standard">
<input type="radio" class="user-option" name="data[Setting][49]" id="Setting49Entry" value="entry">
<input type="radio" class="user-option" name="data[Setting][49]" id="Setting49Standard" value="standard">
现在你可以检查事件
$(document).ready(function () {
$('.user-option').on('change',function(){
alert($(this).attr('name') + ' has changed and now it is checked')
})
});