我再次大声笑。
我正面临一个非常具体的问题,我需要帮助。
我还没准备好重构一些其他人所做的完整代码,他们问我是否有办法确保,在3个选择框中,我们可以从其他选项中移除,无论选择哪个,关于避免使用3个选择框,具有相同的值。
这是你给我的代码。
$questions = array (
'question1' => 'question1',
'question2' => 'question2',
'question3' => 'question3',
'question4' => 'question4',
'question5' => 'question5'
);
然后是一些html
<table>
<tr>
<td>
<?php echo $this->Form->input('pregunta1', array('options' => $questions/*, 'empty' => 'Seleccione una pregunta'*/));?><br>
<?php echo $this->Form->input('respuesta1', array('required' => 'required')); ?>
</td>
<td>
<?php echo $this->Form->input('pregunta2', array('options' => $questions/*, 'empty' => 'Seleccione una pregunta'*/));?><br>
<?php echo $this->Form->input('respuesta2', array('required' => 'required')); ?>
</td>
<td>
<?php echo $this->Form->input('pregunta3', array('options' => $questions/*, 'empty' => 'Seleccione una pregunta'*/));?><br>
<?php echo $this->Form->input('respuesta3', array('required' => 'required')); ?>
</td>
</tr>
</table>
我需要的是一种从每个选择框中删除的方法,即使可能,也可以使用jquery在其他2中选择哪个问题。
非常感谢您的时间和精力!
的问候,
何塞·查法尔特答案 0 :(得分:0)
我可以通过jQuery轻松完成此操作的最简单方法是将每个选项的值设置为相同的ID。
<select id="option1">
<option value="1">Text</option>
<option value="2">Text2</option>
<option value="3">Text3</option>
</select>
<select id="option2">
<option value="1">Text</option>
<option value="2">Text2</option>
<option value="3">Text3</option>
</select>
<select id="option3">
<option value="1">Text</option>
<option value="2">Text2</option>
<option value="3">Text3</option>
</select>
使用jquery,您需要挂钩.change()事件。 http://api.jquery.com/change/
每次将其中一个选项更改为其他选项时,使用.remove()函数http://api.jquery.com/remove/
从其他2中删除该选项$('#option1').change(function(){
var id = $(this).val();
var hld = $('#option2');
hld.find( 'option[value=' + id + ']').remove();
})
$('#option2').change(function(){
var id = $(this).val();
var hld = $('#option3');
hld.find( 'option[value=' + id + ']').remove();
})
请注意,这是非常粗略的代码,但应该让您了解如何执行此操作。如果需要,还可以使用.append()函数添加选项。