そのため、x個の値を持つMultiSelectボックスがあり、別のMultiSelectボックスに移動したりその逆を行ったりする機能が必要です。
<select class="boxa" multiple="multiple">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
<select class="boxb" multiple="multiple">
</select>
ボタンクリックでboxaの値のすべてまたは1つをboxbに移動する必要があります。また、値をboxbからboxaに戻す機能もあります。
JQueryにはこのようなものがありますか、それともこれはカスタムコードスニペットですか?
crossSelect というjqueryプラグインがあります。これはあなたが望むことをしているようです。
jQueryにはこれが組み込まれていません。好きなプラグインを見つけて使用するか、独自のプラグインを作成する必要があります。 (もちろん、jQueryを使用して記述または使用する必要はありません、必要に応じて純粋なJavaScriptで実装できます)
$().ready(function() {
$('#add').click(function() {
return !$('#select1 option:selected').remove().appendTo('#select2');
});
$('#remove').click(function() {
return !$('#select2 option:selected').remove().appendTo('#select1');
});
});
次のことを試してください( http://blog.jeremymartin.name/2008/02/easy-multi-select-transfer-with-jquery.html から取得)
<html>
<head>
<script src="js/jquery.js" type="text/javascript"></script>
<script type="text/javascript">
$().ready(function() {
$('#add').click(function() {
return !$('#select1 option:selected').remove().appendTo('#select2');
});
$('#remove').click(function() {
return !$('#select2 option:selected').remove().appendTo('#select1');
});
});
</script>
<style type="text/css">
a {
display: block;
border: 1px solid #aaa;
text-decoration: none;
background-color: #fafafa;
color: #123456;
margin: 2px;
clear:both;
}
div {
float:left;
text-align: center;
margin: 10px;
}
select {
width: 100px;
height: 80px;
}
</style>
</head>
<body>
<div>
<select multiple id="select1">
<option value="1">Option 1</option>
<option value="2">Option 2</option>
<option value="3">Option 3</option>
<option value="4">Option 4</option>
</select>
<a href="#" id="add">add >></a>
</div>
<div>
<select multiple id="select2"></select>
<a href="#" id="remove"><< remove</a>
</div>
</body>
</html>
私は同じ問題を抱えていましたが、それを回避する方法を見つけました
<div>
<select multiple id="select1">
<option value="1">Option 1</option>
<option value="2">Option 2</option>
<option value="3">Option 3</option>
<option value="4">Option 4</option>
</select>
</div>
<div>
<select multiple id="select2"></select>
</div>
jquery
$('#select1').click(function () {
return !$('#select1 option:selected').remove().appendTo('#select2');
});
$('#select2').click(function () {
return !$('#select2 option:selected').remove().appendTo('#select1');
});
ボタンが必要な場合は、追加>>とjqueryをクリックしてセレクターをここに追加します
プラグインに問題がなければ、このプラグインはうまく機能します。
$('#boxa option').appendTo('#boxb');
これが私のhtmlコードです
<div>
<select multiple id="select1">
<option value="1">Option 1</option>
<option value="2">Option 2</option>
<option value="3">Option 3</option>
<option value="4">Option 4</option>
<option value="5">Option 5</option>
<option value="6">Option 6</option>
</select>
<a href="#" id="add">add > ></a>
</div>
<div>
<select multiple id="select2"></select>
<a href="#" id="remove">remove < <</a>
</div>
およびJavascriptコード
$("#add").click(function(){
$("#select1 option:selected").remove().appendTo($("#select2"));
})
$("#remove").click(function(){
$("#select2 option:selected").remove().appendTo($("#select1"));
})
インポートしたことを確認してくださいjquery.js
ファイル。
Bootstrapを使用している場合、 bootstrap-duallistbox が非常に便利であることがわかりました。