0

動的選択を作成しようとしています。

データベース テーブルにユーザーを作成するたび<td class="users">に、マークアップに次のように追加されます。<td class="users">name of the user extracted from the db</td>

html

<select id="selectUser">
  <option selected disabled>Select a user...</option>
</select>

js

var names = {};
$('.users').each(function() {  
     names = $(this).html();
     printContent(names);
});

function printContent(content)
{
   $( '<option class="selectOption">' + content + '</option>' ).appendTo( "#selectUser" );

}

また、必要に応じてユーザーの名前を表示しますが、選択しても選択したクラスは変更されません。表示されている要素に選択したクラスを追加するにはどうすればよいですか?

http://jsfiddle.net/hh7r7p3w/にコードを追加しました。言及しておくと、ユーザー名を含む実際のデータはデータベースから取得されるため、この名前は変化する可能性があります。

自分がやろうとしている方法ではできないことをやろうとしているのだろうか?

ありがとうございました

4

1 に答える 1

0

オプションのプロパティを次のように追加できます

$(document).ready(function() {

  var names = {};
  $('.users').each(function() {
    names = $(this).html();
    printContent(names);
  });

  function printContent(content) {
    $('option:selected').prop('selected', false);
    $('<option class="selectOption">' + content + '</option>').appendTo("#selectUser");
  }

});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<table>
  <tr>
    <td class="users">User 1</td>
    <td class="users">User 2</td>
    <td class="users">User 3</td>
    <td class="users">User 4</td>
    <td class="users">User 5</td>
  </tr>
</table>

<select id="selectUser">
  <option selected disabled>Select a user...</option>
</select>

于 2015-10-21T11:47:20.793 に答える