我遇到了一个问题,我想删除所选列表之后的所有列表。 我创建了 JS Fiddle在这里,但它不起作用。例如,如果我从第一个下拉列表中选择项目,那么接下来的两个应该被删除,或者如果我从第二个下拉列表中选择,那么第三个应该被删除。
HTML
<div id='levels'>
<select id="level" class="parent" name="data[level][]">
<option value="1">1</option>
<option value="2">2</option>
</select>
<select id="level" class="parent" name="data[level][]">
<option value="3">3</option>
<option value="4">4</option>
</select>
<select id="level" class="parent" name="data[level][]">
<option value="5">5</option>
<option value="6">6</option>
</select>
</div>
Javascript
$("#levels").on('change', function() {
$(this).nextAll().remove();
});
我想在不为每个列表分配不同的类名或 div 名的情况下实现这一点。
Cakephp代码
主文件
<script type="text/javascript">
$(document).ready(function() {
$("select").on('change', function() {
$(this).nextAll('select').remove();
$("<div>").load('/dashboard/details/show_levels',function() {
$("#levels").append($(this).html());
});
})
<div id=levels>
<?php echo $form->input('level',array('options'=>$level,'type'=>'select','scroabble'=>true,'multiple'=>true, 'class'=>'parent')); ?>
</div>
});
show_levels
<?php
$abc=array('a','b','c','d');
echo $form->input('level',array('options'=>$abc,'type'=>'select','scroabble'=>true,'multiple'=>true, 'class'=>'parent')); ?>
更新:
以下解决方案对我有用
已替换
$(this).nextAll('select').remove();
与
$(this).parents().nextUntil().remove();
不确定它是如何工作的,两者之间有什么区别。
最佳答案
关于php - 删除位于选定列表之后的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12927396/