在select2中使用Ajax时无法获取自定义属性值

断层扫描

我正在使用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() + "&para1=" + $(this).attr("data-para1") + "&para2=" + $(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>
斯瓦蒂

您可以$(this).find('option:selected')用来获取所选选项,然后获取在每个选项中定义的自定义属性。

演示代码

$('#selectCase').select2({
  width: '100%',
  placeholder: "Select an Option",
  allowClear: true
});

$('#selectCase').on('select2:select', function() {
  //getting selected option and then retrieve required data
  var $select = $(this).find('option:selected');
  console.log("para0=" + $select.val() + "&para1=" + $select.attr('data-para1') + "&para2=" + $select.attr('data-para2'));

});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.10/js/select2.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.10/css/select2.min.css" rel="stylesheet" />

<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>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用<select>在select2中获取自定义数据属性

来自分类Dev

使用<select>在select2中获取自定义数据属性

来自分类Dev

在symfony2中使用DQL从Entity获取自定义getter值

来自分类Dev

angular2获取自定义属性的值

来自分类Dev

获取自定义属性值

来自分类Dev

在Jquery中获取自定义属性值?

来自分类Dev

在PHP中获取自定义属性值

来自分类Dev

使用LINQ to XML获取自定义属性值

来自分类Dev

无法使用自定义属性更改 Select2 下拉列表的字体颜色

来自分类Dev

无法从支持Bean获取自定义组件属性

来自分类Dev

获取自定义的Magento属性值以进行计算

来自分类Dev

获取自定义属性的回发值

来自分类Dev

用于获取自定义属性值的 XPath 查询

来自分类Dev

获取要在自定义属性中使用的属性值

来自分类Dev

获取要在自定义属性中使用的属性值

来自分类Dev

无法从jQuery click函数中的元素获取自定义属性

来自分类Dev

从Magento 1.9中的产品获取自定义属性

来自分类Dev

从选择中获取自定义属性

来自分类Dev

如何从Winrt的装配中获取自定义属性

来自分类Dev

使用jQuery获取自定义属性

来自分类Dev

使用Javascript从按钮获取自定义属性

来自分类Dev

使用jQuery获取自定义属性

来自分类Dev

PHP使用DOM解析器获取自定义属性值

来自分类Dev

如何使用JQuery获取自定义HTML属性的值?

来自分类Dev

如何使用 JAVASCRIPT 在 <option> 标签内获取自定义属性的值

来自分类Dev

在magento中获取自定义输入的值

来自分类Dev

在magento中获取自定义输入的值

来自分类Dev

提交表单时如何从WeekPicker中获取自定义星期值

来自分类Dev

Java / LibGDX:在 box2D 碰撞中获取自定义对象属性

Related 相关文章

热门标签

归档