我的VS项目中有一个View,它有三个下拉列表,其中2个是级联的,需要填充父控件的更改。我的工作流程非常适合静态URL调用,但我需要动态添加数据,我没有运气。下面是一个有效的代码静态部分,也是我尝试使其动态工作的多次迭代之一。
如果需要,我在下面的示例数据层次结构按降序排列:项目(例如食物),类型(例如水果),名称(例如香蕉)
感谢任何输入。
使用静态代码:
$().ready(function () {
$('body').on('click', '#deletebtn', function () {
$("#example1 tr").each(function () {
var rowSelector = $(this);
if (rowSelector.find("input[type='checkbox']").prop('checked'))
{
//THE MARKUP SHOWING THE ID IS NOT AVAILABLE
//POST A TABLE ENTRY TO CLEAR UP
var id = rowSelector.find('td').first().next().html();
var sendObj = {Id : id};
//USE JSON OBJECT
$.ajax({
url : "/page.aspx/deleteRecord",//CHANGE TO YOUR URL
dataType: "json",
data: sendObj,
type: "POST",
success: function () {
alert("entry deleted");
}
});
rowSelector.remove();
}
});
});
});
动态代码破碎:
function dynamicTypeList() {
$.ajax({
url: '@Url.Action("", "api/types/1")',
success: function (data) {
$("#Type_Id").empty();
$("#Name_Id").empty();
$("#Type_Id").append("<option value>Select Type (NEW)</option>");
$("#Name_Id").append("<option value>Select Name (NEW)</option>");
for (var i in data) {
$("#Type_Id").append("<option value='" + (i + 1) + "'>" + $(data)[i] + "</option>");
}
}
});
};
答案 0 :(得分:0)
假设&#34; api&#34;是控制器和&#34;类型&#34;是动作,尝试用以下代码替换url变量:
url: '@Url.Action("types", "api")' + sellItem,
sellItem是一个JavaScript变量,需要完全保留在客户端上。或者您可以使用此技术,以便您可以使用Url.Action
中传递的自然URL参数: