30

複数選択ドロップボックス リストを作成したいと考えています。実際には、ドロップダウン メニューを使用して複数のオプションを選択する必要があります。以下に示すように単純にこれを行うと:

<select>
 <option><input type="checkbox"></option>
</select>

次に、ドロップダウンフィールドの前にチェックボックスが表示されます。しかし、複数のオプションを選択できるように、全体ではなくオプションごとに作成したいと考えています。これを行う方法はありますか?

4

8 に答える 8

8

select タグではいつでも multiple or multiple = "true" オプションを使用できますが、それをより美しくする jquery プラグインが 1 つあります。これは選択済みと呼ばれ、ここで見つけることができます。

このフィドルの例は、始めるのに役立つかもしれません

ありがとうございました。

于 2014-04-11T11:37:19.333 に答える
3

チェックボックスと jQuery を使用した複数のドロップダウン。

<div id="list3" class="dropdown-check-list" tabindex="100">
<span class="anchor">Which development(s) are you interested in?</span>
  <ul class="items">
      <li><input id="answers_2529_the-lawns" name="answers[2529][answers][]" type="checkbox" value="The Lawns"/><label for="answers_2529_the-lawns">The Lawns</label></li>
      <li><input id="answers_2529_the-residence" name="answers[2529][answers][]" type="checkbox" value="The Residence"/><label for="answers_2529_the-residence">The Residence</label></li>
  </ul>
</div>

<style>
.dropdown-check-list{
display: inline-block;
width: 100%;
}
.dropdown-check-list:focus{
outline:0;
}
.dropdown-check-list .anchor {
width: 98%;
position: relative;
cursor: pointer;
display: inline-block;
padding-top:5px;
padding-left:5px;
padding-bottom:5px;
border:1px #ccc solid;
}
.dropdown-check-list .anchor:after {
position: absolute;
content: "";
border-left: 2px solid black;
border-top: 2px solid black;
padding: 5px;
right: 10px;
top: 20%;
-moz-transform: rotate(-135deg);
-ms-transform: rotate(-135deg);
-o-transform: rotate(-135deg);
-webkit-transform: rotate(-135deg);
transform: rotate(-135deg);
}
.dropdown-check-list .anchor:active:after {
right: 8px;
top: 21%;
}
.dropdown-check-list ul.items {
padding: 2px;
display: none;
margin: 0;
border: 1px solid #ccc;
border-top: none;
}
.dropdown-check-list ul.items li {
list-style: none;
}
.dropdown-check-list.visible .anchor {
color: #0094ff;
}
.dropdown-check-list.visible .items {
display: block;
}
</style>

<script>
jQuery(function ($) {
        var checkList = $('.dropdown-check-list');
        checkList.on('click', 'span.anchor', function(event){
            var element = $(this).parent();

            if ( element.hasClass('visible') )
            {
                element.removeClass('visible');
            }
            else
            {
                element.addClass('visible');
            }
        });
    });
</script>
于 2015-10-01T15:03:08.067 に答える