Jquery 追加选项以选择和获取所选值
Jquery append option to select and get the selected value
这部分有问题。我有一个填充了 asp.net mvc 的选择和 jquery 填充的另外 2 个空选择
<select id="Type" onchange="GetClassification(this.value);">
@foreach (var item in Type)
{
<option value="@item.TypeID">@item.TypeName</option>
}
</select>
<select id="Classification" onchange="GetDescription(this.value);">
</select>
<select id="Description" onchange="GetDescriptionTips(this.value);">
</select>
因此,基于第一个选择,它填充 sencond,基于第二个,它填充第三个。第一个填充正确,第二个填充右侧,第三个未填充文档就绪。
$(document).ready(function () {
$(function () {
var type = $("#Type option:selected").val();
GetClassification(type);
});
});
function GetClassification(typeID) {
$.ajax({
type: 'GET',
url: '/types/Classification',
data: { typeID: typeID },
cache: false,
success: function (data) {
$('#Classification option').remove();
$.each(data, function (index, val) {
var optionTag = $('<option></option>');
$(optionTag).val(val.ClassificationID).text(val.ClassificationName);
$('#Classification').append(optionTag);
});
}
});
var classification = $("#Classification option:selected").val();
GetDescription(classification);
}
function GetDescription(classificationID) {
$.ajax({
type: 'GET',
url: '/types/Description',
data: { classificationID: classificationID },
cache: false,
success: function (data) {
$('#Description option').remove();
$.each(data, function (index, val) {
var optionTag = $('<option></option>');
$(optionTag).val(val.DescriptionID).text(val.DescriptionName);
$('#Description').append(optionTag);
});
}
});
}
加载页面后,如果我选择第二个,它会正确更改第三个,但如果更改第一个,它只会更改第二个。我需要的是加载时填充第二个和第三个,然后在更改第一个时重新填充第二个和第三个,并在更改第二个时重新填充第三个。
我可以看到它没有在任何阶段分配选定的,所以我不确定是否需要分配它。
希望我解释得很好。
任何帮助将不胜感激。
首先尝试遵循这个 不要重复自己,这是简单的算法:
1.Choose all selects
2.Create only one ajax function and pass params like url, data, etc to it
3.In success function proccess your response from the server
4.find all next selects and clean them up or remove options as u wish
祝你好运!
由于您使用的是 jQuery,请尝试使用 .on('chang', function(){...)
事件处理程序。因为您正在更改 DOM,并且 on()
方法可以检测到更改事件,即使在文档准备就绪后更改了 DOM。
相关文章:
- 获取选择框的状态
- 使用jQuery获取选择列表中每个更改的值
- 在选择组中获取选择选项值以显示额外内容
- 在 jqGrid 内联编辑中获取选择的文本部分而不是值
- jQuery:如何获取选择数组中元素的索引
- 使用本机 Javascript 从 DOM 元素获取选择器字符串
- JavaScript/jQuery:获取选择功能在Firefox和Chrome中不起作用
- 获取选择框展开/用户焦点事件
- 如何使用jQuery获取选择值并传递给另一个函数
- 从谷歌文档中获取选择
- 获取选择组中选择选项的索引
- 在chrome扩展程序上下文菜单中获取选择DOM
- 获取选择选项 php 的值
- 在javascript/jquery中获取选择选项菜单
- 使用 jQuery 获取选择框 IE 的值
- AngularJS:在不修改ng模型的情况下获取选择标签
- 使用 Angular 从服务器端生成的下拉列表中获取选择属性值
- 如何获取选择值的值
- 如何在角度<选择>中获取选择选项
- 获取选择框的名称属性