.net-core - 如何在窗口中加载剑道网格并为参数值使用隐藏字段
问题描述
我有一个加载代理网格的 index.cshtml。单击网格中的自定义按钮会打开一个窗口并在部分视图中为所选代理加载 BillingRates 网格。我从 Agencies 网格中读取了两个参数,并希望将它们用于 BillingRates 网格的数据源参数。
最好的方法是什么?我在 index.cshtml 上有两个隐藏字段,用于存储我从 Agencies 网格中读取的两个参数。一个 javascript 警报告诉我值是正确的,但是隐藏的字段出现“未定义”,尽管它们在那里并且它们的值被发布——我将字段更改为文本框而不是隐藏来证明这一点。
这是我的代码:index.cshtml 上的隐藏字段(在此处显示文本以进行测试)
<input type="text" value="" name="pidForBillingRates" />
<input type="text" value="" name="aidForBillingRates" />
自定义按钮点击事件:
function ShowManageBillingRatesWindow_Click(e) {
e.preventDefault();
var dataItem = this.dataItem($(e.currentTarget).closest("tr"));
var pid = dataItem.Provider;
var aid = dataItem.AgencyId;
$("#pidForBillingRates").val(pid);
$("#aidForBillingRates").val(aid);
alert("pidForBillingRates = " + $("#pidForBillingRates"));
alert("pidForBillingRates.val() = " +
$("#pidForBillingRates").attr('value'));
alert("aidForBillingRates.val() = " +
$("#aidForBillingRates").attr('value'));
alert("pid = " + pid + " and aid = " + aid);
$('#manageBillingRatesWindow').load('@Url.Action("AgencyBillingRateView",
"AgencyBillingRate")' + "?providerId=" + pid + "&agencyId=" + aid);
var window = $("#manageBillingRatesWindow").data("kendoWindow");
window.center().open();
}
第一个警报:
alert("pidForBillingRates = " + $("#pidForBillingRates"));
返回: {object object} 所以我知道它找到了文本框。
第二个警报:
alert("pidForBillingRates.val() = " +
$("#pidForBillingRates").attr('value'));
返回“无法读取未定义的值”。
第三个警报:
alert("aidForBillingRates.val() = " +
$("#aidForBillingRates").attr('value'));
返回“无法读取未定义的值”。
第四次警报"
alert("pid = " + pid + " and aid = " + aid);
返回 pid 和aid 的正确值。
我尝试将隐藏字段(用于测试的文本框字段)放在 index.cshtml 上,然后放在 BillingRates 部分视图上,但仍然得到相同的未定义消息。
所以网格不会加载任何数据,因为它没有在它使用的过滤器中检索两个必要的参数。
我该如何解决?
解决方案
我怀疑“它找到了文本框” pidForBillingRates
。井号告诉 jQuery 搜索 id 为“pidForBillingRates”的元素。您想要的是搜索具有属性name
和属性值“pidForBillingRates”的元素。所以$("input[name='pidForBillingRates']")
应该给你正确的元素。
有关 jQuery 中所有支持的选择器,请参阅https://api.jquery.com/category/selectors/。
推荐阅读
- javascript - 希望重命名 Django Ajax “like”按钮,但不工作
- unit-testing - Vue.js unit:test :有没有办法模拟 Vee-Validate 验证器插件?
- java - 如何将数组的索引打印到单独的 ArrayList 中
- azure - 如何在 Azure Log Analytics Timechart Query 中重命名轴
- loops - 改变
- c++ - 如果语句逻辑不正确
- postgresql - AWS DMS 与 RDS 上的 Postgresql 的连接问题
- android - Firestore 如何在没有 Internet 权限的情况下工作?
- ignite - 如何在没有自定义函数的 SQL 中使用 ID 生成器
- javascript - 如何在一天后调用Javascript倒计时并将一周添加到计时器中