我正在创建动态 mcq 问题,现在在获取文本框的 ID 时遇到问题。我使用 jquery 测试 id,如下所示
<html>
<head>
<script type="text/javascript" src="jquery-1.10.2.min.js"></script>
</head>
<body>
<script type="text/javascript">
var counter1 = 1;//mcq
var counter = 2;//question
$(document).ready(function(){
$("#Q2choice1").click(function (){
alert ("dsa");
});
$("#addQuestion").click(function () {
var newTextBoxDiv = $(document.createElement('div'))
.attr("id", 'TextBoxDiv' + counter);
newTextBoxDiv.after().html('<label>Q'+ counter + ' : </label>' +
'<input type="text" name="textbox' + counter +
'" id="textbox' + counter + '" value="" >' + '</br>' +
'<input type="radio" onclick="disable(this);" />'+
'<input type="text" id="Q'+counter+'choice1" placeholder="Option' + counter1 +' Q'+ counter +'" ">' +
'<input type="button" value="Add Option" id="Q'+ counter +'">');
newTextBoxDiv.appendTo("#TextBoxesGroup");
alert(counter);
counter++;
});
$("#removeQuestion").click(function () {
if(counter==1){
alert("No question that can be deleted");
return false;
}
counter--;
$("#TextBoxDiv" + counter).remove();
});
//$("#getButtonValue").click(function () {
// var msg = '';
//for(i=1; i<counter; i++){
// msg += "\n Textbox #" + i + " : " + $('#textbox' + i).val();
//}
// alert(msg);
//});
});
function disable(element){
element.checked=false;
}
</script>
</head>
这是html
<body>
<div id='TextBoxesGroup'>
<div id="TextBoxDiv1">
<label>Q1 : </label><input type='textbox' id='textbox1' ></br>
<div id="optionList1">
<input type='radio' onclick="disable(this);" /> <input type='text' id='Q1choice1' value='' placeholder='option1Q1'>
<input type='button' value='Add Option' name='1' class="inner" id='Q1'>
</div>
</div>
</div>
<input type='button' value='Add Question' id='addQuestion'>
<input type='button' value='Remove Question' id='removeQuestion'>
</body>
</html>
我使用点击功能并使用警报来确保 id 存在。问题是当我创建下一个问题并提出
$("#Q2choice1").click(function()
它没有提醒,这意味着我的 id 不存在。我的jquery有什么问题?