【发布时间】:2020-08-29 02:57:05
【问题描述】:
我正在使用 ASP.NET
我有一个使用 select2 的下拉菜单,并且在选择某些内容时使用 ajax 调用具有两个参数的(apicontroller)操作。
动作:
public class MyController: ApiController
{
[HttpGet]
public string Helper(string para0, string para1, string para2) { return something;}
}
html:
<select id="selectCase">
<option>Select a Case</option>
<option value="abc" data-para1="1" data-para2="2"> "abc" </option>
<option value="def" data-para1="1" data-para2="2"> "abc" </option>
</select>
js函数:
$('#selectCase').on('select2:select', function() {
$.ajax({
type: "GET",
url: "/api/MyController/Helper?para0=" + $(this).val() + "¶1=" + $(this).attr("data-para1") + "¶2=" + $(this).attr("data-para1"),
但是当它运行时,只有 $(this).val() 得到正确的值,$(this).attr("data-para1" 和 $(this).attr("data-para1" 都是未定义的. 也试过用$(this).data("para1"),还是不行。
谢谢,
我实际上跳过了我在 html 中使用 optgroup 的部分,不确定这是否有什么不同
<select id="selectCase">
<option></option>
<optgroup label="0">
<option value="abc" data-para1="1" data-para2="2"> "abc" </option>
</optgroup>
<optgroup label="0">
<option value="def" data-para1="1" data-para2="2"> "abc" </option>
</optgroup>
</select>
【问题讨论】:
标签: javascript asp.net ajax asp.net-ajax jquery-select2