1

前のドロップダウンからの選択に応じて入力される一連のドロップダウンのグループがあります。3 番目のドロップダウンに<option>ユーザーが値を選択すると、その値がその下のテーブルに追加されます。

私が解決しようとしているchoice 3のは、ユーザーが値をunsure選択した場合、その後、ユーザーが for を選択した場合、choice 1からも削除されるようunsureにするにはどうすればよいですか? したがって、最新の選択は、テーブルに入力された同じ値を持つ他のすべての を上書きします。テーブルに同じ値を 2 つ入力することはできません。unsurechoice 3choice

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());
});

助けてくれてありがとう。

4

2 に答える 2