如何在文本框Jquery更改的下拉列表中动态更改数据

时间:2013-09-15 05:03:42

标签: javascript jquery codeigniter

我有一个文本框和下拉列表。文本框包含省名称,下拉列表包含城市。我想更新文本框的省份并动态更改与文本框中文本相关的下拉列表。我正在使用codeigniter框架。我的观点如下,我从数据库中获取数据。我认为 onchange 或文本框的那种事件存在问题(此代码适用于另一个下拉列表的更改事件。但它不适用于taxt框 - 所以其他逻辑没关系,但我无法弄清楚文本框的事件。文本框的正确事件是什么?我的代码

    

<script> .........................<script>

    $(document).ready(function(){       
        $('#provincial').on('input',function()
        { 

            var id_provincia = $('#provincial').val();
                $.ajax(
                {
                    type: "POST",
                    dataType: "json", // I ADDED THIS LINE
                    url:"tenda/get_comuni/"+id_provincia,
                    success: function(comuni)
                    {
                        $('#comuni').empty();
                        $.each(comuni,function(id_comune, nome_comune)
                        {
                            var opt = $('<option />');
                            opt.val(id_comune);
                            opt.text(nome_comune);
                            $('#comuni').append(opt);
                        });            
                    }
                });
        });
    });  
</script>
</head>
<body>
<?php $comuni['#'] = 'seleziona'; ?>
<div id="tenda">
            <label for="provincia">provincia: </label><?php echo form_dropdown('id_provincia', $provincie, '#', 'id="provincia"'); ?>
           <?php echo form_input('id_provincial','', '#', 'id="provincial"'); ?>
            <label for="comune">comune: </label><?php echo form_dropdown('id_comune', $comuni, '#', 'id="comuni"'); ?><br />
</div>

1 个答案:

答案 0 :(得分:0)

对于文本框,您可以使用keyuponchange(在元素失去焦点时触发)事件。

$('#provincial').keyup(function(event){...});

如果您想按Enter按钮发送POST请求,可以使用以下代码片段处理它:

if (event.which == 13) {
  event.preventDefault();
  .. // DO POST Request
}