使用jQuery,我如何处理页面上的多个选择元素?

若望

我在页面上有多个选择元素。我遇到的问题是,当我检索特定多选元素的选定值时,会从页面上的所有多选元素中获取选定的值。

我的代码如下:

HTML部分:

```<table class="table" id="LodgeData1" class="LodgeDataTable">
    <tr>
        <td>
            <select name="all_activities" class="all_activities" multiple="">
                <option value="1" data_ls_adults_price="0">Horseback riding </option>
                <option value="2" data_ls_adults_price="0">Horseback riding</option>
                <option value="3" data_ls_adults_price="0">2h sundowner scenic drive</option>
                <option value="4" data_ls_adults_price="332">Game Drive Re</option>
                <option value="5" data_ls_adults_price="1000.00">Scenic Flight &amp; Dune Boarding 22</option>
            </select>
        </td>
    </tr>
</table>
<table class="table" id="LodgeData2" class="LodgeDataTable2">
    <tr>
        <td>
            <select name="all_activities" class="all_activities" multiple="">
                <option value="1" data_ls_adults_price="0">Horseback riding </option>
                <option value="2" data_ls_adults_price="0">Horseback riding</option>
                <option value="3" data_ls_adults_price="0">2h sundowner scenic drive</option>
                <option value="4" data_ls_adults_price="332">Game Drive Re</option>
                <option value="5" data_ls_adults_price="1000.00">Scenic Flight &amp; Dune Boarding 22</option>
            </select>
        </td>
    </tr>
</table>```

jQuery Part: 

```$("body").on("change",".all_activities", function(){
      var table_id = $(this).parents('table').attr('id');
      var arr = [];
      var x=0;
      $('.all_activities > option:selected').each(function(){
        var activity_price = $(this).attr("data_ls_adults_price");
        var activity_name = $(this).text();
        x += parseInt($(this).attr("data_ls_adults_price"));
        var activities = activity_name;
        arr.push(activities);
        console.log(arr);
      });
      var x_activities = "Total Cost: "+x;
      $('#'+table_id).find('.Price_Activities_List').html(arr);
      $('#'+table_id).find('.Price_Activities_Price').html(x_activities);
    });```

因此,如果我在表“#LodgeData2”下选择“选项1和2”,在表“#LodgeData2”下选择选项5,则“选项1和2”也将显示为表“#LodgeData2”下的值的一部分。

如何分别检索多选元素的值?

阿里·谢库普尔

$('.all_activities > option:selected')是一个类选择器,并选择具有特定类的所有元素(然后选择它们)。您可以$(event.target)通过将事件传递给函数来将选择范围缩小到事件目标

$("body").on("change",".all_activities", function(event){
      var table_id = $(this).parents('table').attr('id');
      var arr = [];
      var x=0;
      $(event.target).find("option:selected").each(function(){
        var activity_price = $(this).attr("data_ls_adults_price");
        var activity_name = $(this).text();
        x += parseInt($(this).attr("data_ls_adults_price"));
        var activities = activity_name;
        arr.push(activities);
        console.log(arr);
      });
      var x_activities = "Total Cost: "+x;
      $('#'+table_id).find('.Price_Activities_List').html(arr);
      $('#'+table_id).find('.Price_Activities_Price').html(x_activities);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table class="table" id="LodgeData1" class="LodgeDataTable">
    <tr>
        <td>
            <select name="all_activities" class="all_activities" multiple="">
                <option value="1" data_ls_adults_price="0">Horseback riding </option>
                <option value="2" data_ls_adults_price="0">Horseback riding</option>
                <option value="3" data_ls_adults_price="0">2h sundowner scenic drive</option>
                <option value="4" data_ls_adults_price="332">Game Drive Re</option>
                <option value="5" data_ls_adults_price="1000.00">Scenic Flight &amp; Dune Boarding 22</option>
            </select>
        </td>
    </tr>
</table>
<table class="table" id="LodgeData2" class="LodgeDataTable2">
    <tr>
        <td>
            <select name="all_activities" class="all_activities" multiple="">
                <option value="1" data_ls_adults_price="0">Horseback riding </option>
                <option value="2" data_ls_adults_price="0">Horseback riding</option>
                <option value="3" data_ls_adults_price="0">2h sundowner scenic drive</option>
                <option value="4" data_ls_adults_price="332">Game Drive Re</option>
                <option value="5" data_ls_adults_price="1000.00">Scenic Flight &amp; Dune Boarding 22</option>
            </select>
        </td>
    </tr>
</table>

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何处理子页面上的多个h1元素

来自分类Dev

如何在多个页面上使用jQuery

来自分类Dev

如何处理/等待仅在页面上进行某些操作后才显示的元素

来自分类Dev

如何在页面上使用多个日期选择器

来自分类Dev

如何使用页面上的jQuery移除()append()子元素?

来自分类Dev

选择不同类别时,jQuery会更改页面上多个元素的活动状态

来自分类Dev

XSLT如何处理多个嵌套元素?

来自分类Dev

当多个选择元素在同一页面上时,如何获得正确的 selectedIndex?

来自分类Dev

使用jQuery在一个页面上获取多个表单元素的val

来自分类Dev

如何使用div包装多次出现在页面上的多个元素?

来自分类Dev

缺少jQuery Mobile js混乱我页面上的某些元素

来自分类Dev

如何在页面上的多个元素之间共享 javascript/html?

来自分类Dev

事件处理程序中的jQuery加载-加载完成后,如何处理事件元素的多个属性?

来自分类Dev

使用jQuery,如何按多个数据属性选择元素?

来自分类Dev

使用jQuery,如何按多个数据属性选择元素?

来自分类Dev

JQuery Mobile 如何使用 TouchPunch.js 在页面上移动元素?

来自分类Dev

我将如何编写一个变量以使用Jquery调用页面上所有元素的所有页边距?

来自分类Dev

如果我使用jQuery的.hide()和.show()方法,如何将javascript验证仅应用于HTML页面上的可见元素?

来自分类Dev

如何使用Selenium和Python在reCAPTCHA演示页面上的多个框架中查找多个元素并与之交互

来自分类Dev

我如何处理迭代的最后一个元素

来自分类Dev

在我的情况下,如何处理多个http请求?

来自分类Dev

使用jQuery将元素滑动到页面上

来自分类Dev

如何使用js / jquery show / hide在我的页面上实现Show more按钮

来自分类Dev

使用jQuery each()函数在页面上播放多个视频

来自分类Dev

如何使用@use在多个页面上使用SASS $ variable?

来自分类Dev

何时拖动HTML页面上的选择元素?

来自分类Dev

选择时如何仅在特定页面上使用隐藏的attr

来自分类Dev

jQuery / Cheerio:如何选择多个元素?

来自分类Dev

如何处理多个联接

Related 相关文章

  1. 1

    如何处理子页面上的多个h1元素

  2. 2

    如何在多个页面上使用jQuery

  3. 3

    如何处理/等待仅在页面上进行某些操作后才显示的元素

  4. 4

    如何在页面上使用多个日期选择器

  5. 5

    如何使用页面上的jQuery移除()append()子元素?

  6. 6

    选择不同类别时,jQuery会更改页面上多个元素的活动状态

  7. 7

    XSLT如何处理多个嵌套元素?

  8. 8

    当多个选择元素在同一页面上时,如何获得正确的 selectedIndex?

  9. 9

    使用jQuery在一个页面上获取多个表单元素的val

  10. 10

    如何使用div包装多次出现在页面上的多个元素?

  11. 11

    缺少jQuery Mobile js混乱我页面上的某些元素

  12. 12

    如何在页面上的多个元素之间共享 javascript/html?

  13. 13

    事件处理程序中的jQuery加载-加载完成后,如何处理事件元素的多个属性?

  14. 14

    使用jQuery,如何按多个数据属性选择元素?

  15. 15

    使用jQuery,如何按多个数据属性选择元素?

  16. 16

    JQuery Mobile 如何使用 TouchPunch.js 在页面上移动元素?

  17. 17

    我将如何编写一个变量以使用Jquery调用页面上所有元素的所有页边距?

  18. 18

    如果我使用jQuery的.hide()和.show()方法,如何将javascript验证仅应用于HTML页面上的可见元素?

  19. 19

    如何使用Selenium和Python在reCAPTCHA演示页面上的多个框架中查找多个元素并与之交互

  20. 20

    我如何处理迭代的最后一个元素

  21. 21

    在我的情况下,如何处理多个http请求?

  22. 22

    使用jQuery将元素滑动到页面上

  23. 23

    如何使用js / jquery show / hide在我的页面上实现Show more按钮

  24. 24

    使用jQuery each()函数在页面上播放多个视频

  25. 25

    如何使用@use在多个页面上使用SASS $ variable?

  26. 26

    何时拖动HTML页面上的选择元素?

  27. 27

    选择时如何仅在特定页面上使用隐藏的attr

  28. 28

    jQuery / Cheerio:如何选择多个元素?

  29. 29

    如何处理多个联接

热门标签

归档