【问题标题】:how to change input type text value after selected dropdown list in ajax如何在ajax中选择下拉列表后更改输入类型文本值
【发布时间】:2019-07-10 06:24:41
【问题描述】:

从下拉列表中选择数据后,我尝试使用数据库中的数据更改输入类型文本中的值

但数据没有输入文本输入值

<?php
//Include the database configuration file
include 'dbConfig.php';

//Fetch all the country data
$query = $db->query("SELECT * FROM countries WHERE status = 1 ORDER BY country_name ASC");

//Count total number of rows
$rowCount = $query->num_rows;
?>
<select id="country">
    <option value="">Select Country</option>
    <?php
    if($rowCount > 0){
        while($row = $query->fetch_assoc()){ 
            echo '<option value="'.$row['country_id'].'">'.$row['country_name'].'</option>';
        }
    }else{
        echo '<option value="">Country not available</option>';
    }
    ?>
</select>

<div id="state">

</div>


<?php
//Include the database configuration file
include 'dbConfig.php';

if(!empty($_POST["country_id"])){
    //Fetch all state data
    $query = $db->query("SELECT * FROM states WHERE country_id = ".$_POST['country_id']." AND status = 1 ORDER BY state_name LIMIT 1");

    //Count total number of rows
    $rowCount = $query->num_rows;

    //State option list
    if($rowCount > 0){
        $row = $query->row();
        echo '<input type="text" id="state" value="'.$row['state_name'].'">';
    }
}
?>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

<script type="text/javascript">
$(document).ready(function(){
    $('#country').on('change',function(){
        var countryID = $(this).val();
        if(countryID){
            $.ajax({
                type:'POST',
                url:'index.php',
                data:'country_id='+countryID,
                success:function(html){
                    $('#state').html(html);
                }
            }); 
        }
    });

});
</script>

我希望根据数据库中的数据输出

这是我的数据库:

数据库国家

数据库状态

错误

【问题讨论】:

  • 您遇到的任何错误。

标签: javascript php html ajax


【解决方案1】:

下面的代码应该可以工作。

$('#state').html(html);

【讨论】:

    【解决方案2】:

    要用一些数据或字符串填充文本类型的输入,您必须使用 .val() jquery 函数,而不是 .html() - 替换

    $('#state').html(html);
    
    

    $('#state').val(html);
    
    

    【讨论】:

    • html 应该是在代码中某处定义的变量。我认为您正在寻找的是 $('#state').val(countryID);
    【解决方案3】:

    试试这个

     $('#state').val(html);
    

     $('#state').text(html);
    

    【讨论】:

    • 使用 val 不起作用;使用文本显示代码为什么?
    猜你喜欢
    • 2021-03-17
    • 1970-01-01
    • 1970-01-01
    • 2019-06-04
    • 2014-05-01
    • 2019-02-27
    • 1970-01-01
    • 2019-09-06
    • 2019-07-08
    相关资源
    最近更新 更多