の値は、私はこのフィールドのそれぞれの名前は、オプション一部の値で変更されません。しかし、実際にはここでは、私はchange
イベントをselect2で聞くことを試みます。次に、選択した値を見つけるには、:selected
疑似セレクタをjQueryで選択して、選択したオプションの値とテキストを探します。
あなたはいくつかのアイデアを得ることを願っています!
$(function() {
// Apply select2
$('.select2').select2()
// Just a small helper
var _h = {
capitalize: function (str) {
return str.charAt(0).toUpperCase() + str.slice(1)
},
render: function (id, name) {
var html = ''
$.each([1, 2, 3], function (k, v) {
html += '<input type="text" name="quality[' + name + '][' + id + '][' + v + ']" placeholder="' + _h.capitalize(name) + '-' + v + '" class="block">'
})
return html
}
}
// Now listed to change event of select2
$(document).on('change', '.quality', function() {
$('#append').html('') // truncate any appended nodes
$(this).find(':selected').each(function (k, v) {
$('#append').append(_h.render($(this).val(), $(this).text()))
})
})
})
<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/css/select2.min.css" rel="stylesheet" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/js/select2.min.js"></script>
<style>
.block {
display: block;
margin: .5rem 0;
width: 100%;
}
</style>
<select class="form-control select2 quality" multiple="multiple" name="quality[]" data-placeholder="Select a Quality" style="width: 100%;">
<option value="1">Standard</option>
<option value="2">Outstanding</option>
<option value="3">Whatever</option>
</select>
<div id="append"></div>
あなたはまだjQueryを使って何をしようとしましたか?単純にイベント型の変更を伴うJqueryでメソッドを記述してください。 https://api.jquery.com/change/を参照してください – webDev
はい私はしようとしたが、私は作成されたすべてのフィールドの名前を変更する方法を知っていない –
ああ、あなたのために何かを投稿しますいくつかの時間の後に何かを投稿します – webDev