-1
我有一个民意调查创建者,可以有几个问题。为了简单起见,我的脚本有一个问题柜台来帮助分组每个问题的选择。但是这意味着当我创建一个新问题时,我不能再为以前的问题添加选择,否则他们会被错误地分组。
所以我在每一个问题
function addChoice(){
$(this).before('<p><input id="choice" name="option' + question_counter + '[]" type="text" placeholder="Enter Choice"/>' +
'<a title="Delete Choice" id="' + question_counter + '"class="delete_choice" href="#question_container">AAA</a>' +
'</p>');
$(".delete_choice").click(deleteChoice);
}
function addQuestion(){
question_counter++;
$(".add_choice").remove();
$(this).before('<fieldset class="new_question"><legend id="legend_' + question_counter + '">Question ' + question_counter + '</legend>' +
'<p class="questionbar">' +
'<label for="question_title">Question Title</label><br>' +
'<input class="questionbar" type="text" placeholder="Question Title" name="question_title_' + question_counter +'" required><br>' +
'</p>' +
'<div class="choice_container">' +
'<p id="' + question_counter + '"class="add_choice"><a title="Add New Choice" href="#question_container"><span><img src="images/add_choice_icon.png" style="width:30px; height:30px"></span></a></p>' +
'</div>' +
'<p class="delete_question"><a title="Delete Question" href="#"><span><img src="images/delete_icon.png" style="width:30px; height:30px"></span></a></p>' +
'</fieldset>');
$(".questionbar").keyup(addQuestionTitle);
$(".delete_choice").click(deleteChoice);
$(".delete_question").click(deleteQuestion);
$(".add_choice").click(addChoice);
}
所以在我addChoice功能添加了一个ID为每个add_choice按钮,一个,我用
var cid = $(this).attr("id");
为了组选择的问题,因为add_choice按钮与我想要添加选项的问题具有相同的id。 但是现在我使用这个,addQuestion函数停止工作。即使alert()也不会做任何事情。 我是否错误地使用了它,或者这是其他问题的标志?
你的问题是很难以目前的形式,了解阅读: – Jamiec 2014-12-05 10:14:34
你似乎是添加重复'http://stackoverflow.com/help/mcve id =“choice”'条目,这是无效的HTML和jQuery只能通过id找到第一个匹配项。改用类。 – 2014-12-05 10:14:38
谢谢,TrueBlueAussie,似乎已经解决了它。但是,如果我试图获得按钮的ID,那么为什么选择的ID会阻碍,如果它在那个时候还没有存在? – user2993349 2014-12-05 10:30:51