代码点火器动态表单下拉列表,不返回值,而是返回 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,这在查看代码时是有意义的。需要更新什么才能解决此问题?
谢谢
编辑:品牌和型号下拉列表的 ID 是正在插入的内容,我想要这个值,就像我在添加 jquery 之前它是如何工作的
。例如,make下拉菜单将具有HP或Dell,并且型号将具有型号,提交时,将插入这些值,但我只是获取ID...
尝试更改:
opt.val(id);
自
opt.val(model);
更新:好的,所以这适用于一种数据结构类型。我建议定义返回值类型,您可以在其中执行以下操作:
--> ajax 请求中的"成功数据" = {"类型":"模型","id":"12345","模型":"一个很酷的模型"}
您的成功句柄可以执行以下操作:
success: function(successData){
if(successData.type === "model"){
//do your loop to create the models markup
else{
//we have "make" data, handle that here..
}
}
相关文章:
- PHP会话ID变量与AJAX一起返回
- 包含插入的Meteor方法没有返回记录ID作为结果
- AngularJS-工厂中promise ID字段的返回值
- 将外部函数返回的id传递给内部函数
- 使用this和onclick()时不能返回id值
- 为什么数据列表选项的id返回空值
- Javascript setInterval未及时返回ID
- 代码点火器动态表单下拉列表,不返回值,而是返回 ID
- 猫鼬对 id 字段的请求返回 id 和_id
- 自动增量不会在猫鼬中返回 ID
- 从Ajax生成的DOM元素返回id
- .post()返回ID不受页面Jquery的影响
- cssRule对象在样式表中没有返回id选择器样式
- 将onclick事件附加到返回id的锚定元素
- 如何获得ajax返回id隐藏变量..在请求页面
- Angular:从父函数$http中返回id
- 从新插入的文档返回id - mongoDB
- 选择查询结果并返回ID值
- 希望在下划线筛选器后返回ID列表
- 如何在帆中保存记录时返回 id 数组.js