关于更改事件不是通过ajax php触发的

时间:2016-09-29 02:45:18

标签: php jquery ajax codeigniter

每当我进入我的房子时,我都会找到身份证。它会加载记录和输入ID chli_hh_id也将被填充。如果输入#cli_hh_id已填充。 href ="没有被触发。请帮助请...谢谢:)

这是我的输入文本框。

                    <input type="text" id = "hh_id" name = "hh_id" placeholder="Please enter Household ID" class = "form-control"  href="<?=base_url('location/hh_members')?>">
                <input type="text" id = "cli_hh_id" name = "cli_hh_id" class = "form-control"  href="<?=base_url('location/cli_hh')?>">

这是我在#hh_id上的js。这里没问题。

    $(document)
.on('change', '#hh_id', function(){

    var hh_id = this.value;
    $.ajax({
        url: $(this).attr('href') + '/' + hh_id,
        dataType: 'json',
        success:function(data){
            console.log(data);
            var html = ""; 
            for (var i = 0; i < data.length; i++) {
                html += "<option  data-cli_hh_id = '"+data[i].cli_hh_id+"' data-entry_id = '"+data[i].entry_id+"' data-my_name = '"+data[i].my_name+"' data-sex = '"+data[i].sex+"' data-brgy = '"+data[i].brgy+"' data-muncity = '"+data[i].muncity+"' data-province = '"+data[i].province+"' data-region = '"+data[i].region+"' value='"+data[i].value+"'>"+data[i].value+"</option>";
            };
            $('#full_name').html(html);
        }
    });
});

这是我遇到问题的地方。当它具有值时,它不会被触发。 :(

    $(document)
.on('change', '#cli_hh_id', function(){
alert('Is this loading?');
    var cli_hh_id = this.value;
    $.ajax({
        url: $(this).attr('href') + '/' + cli_hh_id,
        dataType: 'json',
        success:function(data){
            console.log(data);
            var html = ""; 
            for (var i = 0; i < data.length; i++) {
                html += "<p>"+ data[i].key + " " + data[i].value+"</p>";
            };
            $('#cli_household').html(html);
        }
    });
});

1 个答案:

答案 0 :(得分:0)

如下所述更改行[非强制性]

$('#hh_id').change(function() { ... });

$('#cli_hh_id').change(function() { ... });

但是,此事件仅在选择器失去焦点时触发,因此您需要单击其他位置以触发该功能。

或者你可以使用其他jQuery events类似keyup,keydown或keypress - 取决于你想要的确切效果。