ドロップダウンフォームにこのコードがあり、正常に機能しました
<?php echo form_label('Model: ', 'model'); ?>
<?php echo form_dropdown('model', $model_dropdown, '', set_value('model', '', 'id="model"')); ?>
<?php echo form_label('Make: ', 'make'); ?>
<?php echo form_dropdown('make', $make_dropdown, '', set_value('make', '', 'id="make"')); ?>
しかし、動的ドロップダウンのためにjqueryで拡張したかったので、これに変更しました
<label for="make">Make: </label>
<?php echo form_dropdown('id', $make_dropdown, '', 'id="make"'); ?><br /></td>
<?php $models['#'] = 'Please Select'; ?>
<label for="model">Model: </label>
<?php echo form_dropdown('model_id', $models, '', 'id="models"'); ?><br /></td>
jsの場合はこれで
$(document).ready(function(){
$('#make').change(function(){
$("#models > option").remove();
var id = $('#make').val();
$.ajax({
type: "POST",
url: "site/get_models/"+id,
datatype : "json",
success: function(models) {
$.each(models,function(id,model)
{
var opt = $('<option />');
opt.val(id);
opt.text(model);
$('#models').append(opt);
});
}
});
});
});
しかし、現在、値は送信されていませんが、IDは送信されています。これは、コードを見るときに意味があります。これを修正するには何を更新する必要がありますか?
ありがとう
編集:[メーカーとモデル]ドロップダウンのIDは挿入されているものです。代わりに、jqueryを追加する前の動作のように値が必要です。
たとえば、makeドロップダウンにはHPまたはDellが含まれ、モデルにはモデルが含まれます。送信すると、これらの値が挿入されますが、代わりにIDを取得するだけです...