gpt4 book ai didi

javascript - jQuery 无法正常运行

转载 作者:行者123 更新时间:2023-11-29 11:14:01 25 4
gpt4 key购买 nike

当我从选择框中选择一个值时,我需要获取其他字段上的相应值。这是我的表格

     id     first_name  last_name      stud_id      dob         hostel   class  room  bed   status
175 siraj k WPGH00175 01-10-2016 7 28 41 2A P
176 nesru kv WPGH00176 31-10-2016 7 28 41 2B P
177 faizal ep WPGH00177 31-10-2016 7 28 41 2C P
179 mashoor uv WPGH00179 24-10-2016 7 28 41 2D G

这是我的查看页面

<div class="form-group" id="stud_id">
<label for="student" class="col-sm-4 control-label">Student ID</label>
<div class="col-sm-5">
<select class="chosen-select chosen-transparent form-control" name="student" id="student">
<option value="">--Select Student-- </option>
<?php foreach ($students as $row) { ?>
<option value="<?php echo $row->id; ?>"><?php echo $row->stud_id; ?></option>
<?php }?>
</select>
</div>
</div>
<div class="form-group">
<label for="input01" class="col-sm-4 control-label">First Name:</label>
<div class="col-sm-5" >
<input type="text" class="form-control" id="first_name1" name="first_name" value="">
</div>
</div>

这是我的 jQuery

 <script type="text/javascript">
$(document).ready(function(){

$('#student').change(function(){
var stud_id=$('#student').val();

var url='<?php echo base_url(); ?>hostel/ajax_data';

$.post(url,{s_id:stud_id}, function(data)
{
//alert();
$("#first_name1").html(data);
});
});
});
</script>

这是我的控制

public function ajax_data()
{
$stud_id = $_POST['s_id'];
$data['result'] = $this->admin_model->ajax_name($stud_id);
$this->load->view('hostel/ajax_data',$data);
}

这是我的模型

public function ajax_name($stud_id)
{
$query=$this->db->get_where('student_hostel',array('id'=>$stud_id))->row();
return $query;
}

当我给出 val 而不是 html 时,我在 View 中给出的整个内容都会显示出来。这是我的看法

<input type="text" class="form-control" id="first_name1" name="first_name" value="<?php echo $result->first_name;?>">

最佳答案

在 View (hostel/ajax_data)中,您正在打印整个 html 输入并尝试使用 jquery 将其再次放置在已加载的输入中 - 这没有多大意义。你只能回显

<?php echo $result->first_name;?> 

在 View 中或直接在 Controller 中并使用 jquery 将此响应放入加载的输入中,如下所示:

$("#first_name1").val(data);

如果您需要更多数据,而不仅仅是名字,在这种情况下您可以制作 json.

示例:

模型更改:

public function ajax_name($stud_id)
{
$query=$this->db->get_where('student_hostel',array('id'=>$stud_id))->row_array(); //use row_array instead of row() to return an array
return $query;
}

Controller 变更:

public function ajax_data()
{
$stud_id = $_POST['s_id'];
$result = $this->admin_model->ajax_name($stud_id);
echo json_encode($result); //converting the array to json string and outputting it directly instead of using view
}

jQuery 中的更改:

<script type="text/javascript">
$(document).ready(function(){

$('#student').on("change",function(e){
var stud_id = $(this).val();

var url='<?php echo base_url('hostel/ajax_data'); ?>';
$.ajax({
url: url,
type: "post",
data:{s_id: stud_id},
success: function(result){
var data = JSON.parse(result); //parsing server response to JSON object
// Now data is an object. As your query in model is returning all fields, you can also use other fields like in this way: data.last_name, data.dob etc
$("#first_name1").val(data.first_name); //updating the input field with retrieved value. This way you also update other fields if necessary
}
});

});
});
</script>

关于javascript - jQuery 无法正常运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40056918/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com