Jquery单选按钮检测变化
问题描述:
我在页面中有多组单选按钮。每组有两个选项键入文本或上传图像。这些集合的数量是动态确定的,并使用Jquery在网页中创建。这两组单选按钮中的每一个都在一个表格内。Jquery单选按钮检测变化
我的问题是,我无法检测到任何这些单选按钮的变化。下面是创建一个单选按钮,我的代码的一部分 -
anstypeforms[i] = $('<form style = "padding:5px; margin:5px;">').attr('id',
function(){
return 'AnsMethod'+quest[k].questionid;
}).appendTo($("#AnswerDiv"+quest[i].questionid));
其中$(“#AnswerDiv” +任务[I] .questionid一些<div>
这是动态创建任务[I] .questionid是。数
按钮被作为产生的无线如下 -
$('<input type="radio" name = "method" value = "TextMethod" checked = "checked" > Type Text </input>').appendTo(anstypeforms[i]);
$('<input type="radio" name = "method" value = "ImageMethod" > Upload Image </input>').appendTo(anstypeforms[i]);
这里是一段代码,试图在任何按钮以检测变化:
$(document).ready(function() {
$("[id^='AnsMethod']").on('change', 'input[name=method]:radio', function(e) {
e.preventDefault();
.......do something......
});
});
我哪里错了?
答
经过几次试验得到的东西工作使用迂回的方式。我首先给每个单选按钮赋予一个唯一的名称。然后我检测到任何单选按钮是否有变化。然后确定已更改的单选按钮的名称。使用与代码的其余部分进行的名字 -
$('<input type="radio" class="rbutton" value = "TextMethod" checked = "checked" > Type Text </input>').attr('name', function(){
return 'method'+quest[k].questionid;
}).appendTo($("#AnswerDiv"+quest[i].questionid));
$('<input type="radio" class="rbutton" value = "ImageMethod" > Upload Image </input>').attr('name', function(){
return 'method'+quest[k].questionid;
}).appendTo($("#AnswerDiv"+quest[i].questionid));
这里是识别码 -
$(document).on("change", 'input[type=radio]', function(e){
e.preventDefault();
var x = $(this).attr('name').substring(6);
var y = $(this).attr('value');
switch(y) {
case 'TextMethod':
....do something....
break;
case 'ImageMethod':
....do something....
break;
}
});
您有一个错误在你生成的HTML。输入看起来不像'文本'。 –