【发布时间】:2018-03-04 17:48:16
【问题描述】:
我有一个允许用户创建自定义问题的表单。
用户需要插入问题的标题,然后选择问题的类型。
如果问题的类型是单选按钮、复选框或选择菜单,它应该出现一个 div “availableOptions”,默认显示两个输入文本,以便用户可以插入一些选项值。
怀疑:
当这个“availableOptions” div 出现时,还有一个“添加新选项”按钮,当点击它时应该会出现另一个输入文本,以便用户可以插入一个新的选项值。每个选项还应该始终有一个关联的删除按钮,当单击该按钮时,用户可以删除该输入文本,但它应该始终至少是一个输入文本。
您知道如何正确执行此操作吗?我有下面的工作示例,但它既不能用于附加也不能用于删除。
示例:https://jsfiddle.net/udx6pp8u/15/
HTML:
<form id="" method="post" class="clearfix" action="">
<div class="form-group">
<label for="inputName">Title</label>
<input type="text" class="form-control" id="inputName">
</div>
<div class="form-group">
<label for="exampleFormControlSelect1">Type of Field</label>
<select class="form-control" id="customQuestionType">
<option>Text</option>
<option>Long text</option>
<option id="optionQuestion">Checkboxes</option>
<option id="optionQuestion">Radiobuttons</option>
<option id="optionQuestion">Select Menu </option>
</select>
</div>
<div class="form-group" id="availableOptions">
<label for="inputName">Available Options </label>
<div class="option">
<input type="text" class="form-control">
<button id="removeOption">Remove Option</button>
</div>
<div class="option">
<input type="text" class="form-control">
<button id="removeOption">Remove Option</button>
</div>
<div class="form-group">
<button type="button" class="btn btn-outline-primary mt-3" id="addNewOption">Add new Option</button>
</div>
</div>
<input type="submit" class="btn btn-primary float-right mt-3" value="Store"/>
</form>
CSS:
#availableOptions{display:none;}
jQuery:
var selected_option = $('#customQuestionType option:selected').attr('id');
if (selected_option == "optionQuestion") {
$('#availableOptions').show();
if ($('#addNewOption').click(function() {
$('#availableOptions')
.append('<div class="option"><input type="text" class="form-control"><button id="removeOption">Remove Option</button></div>');
}));
if ($('#removeOption').click(function() {
$('#availableOptions') // how to remove the clicked otpion?
}));
}
【问题讨论】:
-
看看
element.appendChild()和element.removeChild()w3schools.com/jsref/dom_obj_all.asp
标签: javascript jquery