前のドロップダウンからの選択に応じて入力される一連のドロップダウンのグループがあります。3 番目のドロップダウンに<option>
ユーザーが値を選択すると、その値がその下のテーブルに追加されます。
私が解決しようとしているchoice 3
のは、ユーザーが値をunsure
選択した場合、その後、ユーザーが for を選択した場合、choice 1
からも削除されるようunsure
にするにはどうすればよいですか? したがって、最新の選択は、テーブルに入力された同じ値を持つ他のすべての を上書きします。テーブルに同じ値を 2 つ入力することはできません。unsure
choice 3
choice
HTML:
<form method="POST">
<select name='first' id='first'>
<option selected="selected" value="nothing">choose</option>
<option value='opt_a'>opt a</option>
</select>
<select name='sec' id='sec'>
</select>
<select name='third' id='third'>
</select>
<br />
<br />
<div id="result">
<table>
<tr>
<th>category</td>
<th>choice</td>
</tr>
<tr>
<td>choice 1</td>
<td></td>
</tr>
<tr>
<td>choice 2</td>
<td></td>
</tr>
<tr>
<td>choice 3</td>
<td></td>
</tr>
<tr>
<td>choice 4</td>
<td></td>
</tr>
</table>
</div>
</form>
JS:
data = {
opt_a: ['choose_1','choose_2','choose_3','choose_4'],
choose_1: ['yes','no','unsure','still unsure'],
choose_2: ['yes','no','unsure','still unsure'],
choose_3: ['yes','no','unsure','still unsure'],
choose_4: ['yes','no','unsure','still unsure']
}
$('#first').change(function(){
var firstopts = ''
$.each(data[$(this).val()],function(i,v){
firstopts += "<option value='"+v+"'>"+v+"</option>"
})
$('#sec').html(firstopts)
})
$('#sec').change(function(){
var secopts = ''
$.each(data[$(this).val()],function(i,v){
secopts += "<option value='"+v+"'>"+v+"</option>"
})
$('#third').html(secopts)
})
$('#third').change(function() {
$('table tr').filter(function() {
var number1 = $('#sec').val().split('_')[1];
var number2 = $(this).find('td:eq(0)').text().split(' ')[1];
return number1 == number2;
}).find('td:eq(1)').text($(this).val());
});
助けてくれてありがとう。