我有3个下拉列表。 1用于选择部门。第二是选择主题。应根据部门下拉来填充此下拉列表。第三是学生辍学。这也应该根据部门下拉来填充。我怎么能这样做?任何帮助???
$(function () {
var items = '<option>Select Subject</Option>';
$('#DepartmentID').change(function () {
$.getJSON('/Mark/SubjectList/' + $('#DepartmentID').val(), function (data) {
$.each(data, function (i, subject) {
items += "<option value='" + subject.Value + "'>" + subject.Text + "</option>";
});
alert("changed");
$('#SubjectID').html(items);
});
});
});
$(function () {
var items = '<option>Select Subject</Option>';
$('#DepartmentID').change(function () {
$.getJSON('/Mark/StudentList/' + $('#DepartmentID').val(), function (data) {
$.each(data, function (i, student) {
items += "<option value='" + student.Value + "'>" + student.Text + "</option>";
});
$('#StudentID').html(items);
});
});
});
这些是我想要结合的两个功能。
答案 0 :(得分:1)
将两个AJAX调用放在DepartmentID
的一个更改处理程序中:
$(function () {
$('#DepartmentID').change(function () {
$.getJSON('/Mark/SubjectList/' + $('#DepartmentID').val(), function (data) {
var items = '<option>Select Subject</Option>';
$.each(data, function (i, subject) {
items += "<option value='" + subject.Value + "'>" + subject.Text + "</option>";
});
alert("changed");
$('#SubjectID').html(items);
});
$.getJSON('/Mark/StudentList/' + $('#DepartmentID').val(), function (data) {
var items = '<option>Select Subject</Option>';
$.each(data, function (i, student) {
items += "<option value='" + student.Value + "'>" + student.Text + "</option>";
});
$('#StudentID').html(items);
});
});
});
(注意:我也在每个相应的回调函数中移动var items = ...
位,因此它们各自都有自己的变量。我怀疑应该说“选择学生”。
此代码现在会在DepartmentID
下拉列表更改时生成2个AJAX请求,其中包含2个不同的select
元素
答案 1 :(得分:0)
只需这样结合:
$(function () {
var items = '<option>Select Subject</Option>';
$('#DepartmentID').change(function () {
$.getJSON('/Mark/SubjectList/' + $('#DepartmentID').val(), function (data) {
$.each(data, function (i, subject) {
items += "<option value='" + subject.Value + "'>" + subject.Text + "</option>";
});
alert("changed");
$('#SubjectID').html(items);
});
});
var stuitems = '<option>Select Subject</Option>';
$('#DepartmentID').change(function () {
$.getJSON('/Mark/StudentList/' + $('#DepartmentID').val(), function (data) {
$.each(data, function (i, student) {
stuitems += "<option value='" + student.Value + "'>" + student.Text + "</option>";
});
$('#StudentID').html(stuitems);
});
});
});