簡體   English   中英

Codeigniter動態表單下拉列表,不返回值,但返回ID

[英]Codeigniter dynamic form dropdown, not returning value but the ID

我的下拉表單有此代碼,效果很好

<?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提交,這在查看代碼時很有意義。 需要更新什么來解決此問題?

謝謝

編輯:Make和Model下拉列表的ID是要插入的內容,我想要的是該值,例如添加jquery之前如何使用它。

例如,make下拉列表將包含HP或Dell,並且模型將包含模型,在提交時,將插入這些值,但我只是獲取ID ...

嘗試更改:

opt.val(id);

opt.val(model);

更新:好的,所以這適用於一種數據結構類型。 我建議您定義返回值類型,在這里您可以執行以下操作:

->來自ajax請求的{successData“ = {” type“:” model“,” id“:” 12345“,” model“:”一個很酷的模型“}

而您的成功句柄可以執行以下操作:

    success: function(successData){

        if(successData.type === "model"){
          //do your loop to create the models markup
        else{
           //we have "make" data, handle that here..
        }
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM