简体   繁体   English

如何获得具有相同类和名称的多个选择选项的值

[英]How to get Value of multiple select options with same class and name

I am trying to get the value of the selected option. 我正在尝试获取所选选项的值。 However, there are 2 different select menus, using the same name and class. 但是,有两个使用相同名称和类别的不同选择菜单。 I want to be able to pull the text inside the value. 我希望能够将文本拉入值中。

I already know which select option they choose, but I can't seem to get the value of the option. 我已经知道他们选择哪个选择选项,但是我似乎无法获得该选项的价值。

This is the HTML 这是HTML

<div id="single_course" style="display: none;">
    <SELECT class="form-control" name="course_choice">
        <OPTION value="1">Value 1</OPTION>
        <OPTION value="2">Value 2</OPTION>
        <OPTION value="3">Value 3</OPTION>
    </SELECT>
</div>
<div id="2day_course" style="display: none;">
    <SELECT class="form-control" name="course_choice">
        <OPTION value="1">Value 1</OPTION>
        <OPTION value="2">Value 2</OPTION>
        <OPTION value="3">Value 3</OPTION>
    </SELECT>
</div>

This the JS Code 这是JS代码

var course_choice = $('#register select[name=course_choice]').value;

Your advice is greatly appreciated!! 非常感谢您的建议!!

First of all, you cannot get the values of both. 首先,您无法同时获得两者的值。 So, you can get it as an array. 因此,您可以将其作为数组获取。 You can do like this: 您可以这样:

<div id="single_course" style="display: none;">
    <SELECT class="form-control" name="course_choice[]">
        <OPTION value="1">Value 1</OPTION>
        <OPTION value="2">Value 2</OPTION>
        <OPTION value="3">Value 3</OPTION>
    </SELECT>
</div>
<div id="2day_course" style="display: none;">
    <SELECT class="form-control" name="course_choice[]">
        <OPTION value="1">Value 1</OPTION>
        <OPTION value="2">Value 2</OPTION>
        <OPTION value="3">Value 3</OPTION>
    </SELECT>
</div>

Or, if you cannot change the HTML, then you can do this way suggested by sjkm : 或者,如果您无法更改HTML,则可以按照sjkm的建议进行此操作

var course_choices = $('select[name="course_choice"]');

var course_choice[0] = course_choices.eq(0).val();
var course_choice[1] = course_choices.eq(1).val();
var course_choices = $('select[name="course_choice"]');

var course_choice1 = course_choices.eq(0).val();
var course_choice2 = course_choices.eq(1).val();

Try this: 尝试这个:

// array of selected options (array items are dom objects)
var course_choice = $('#register select[name=course_choice] option:selected');

// extract option's value with jquery
console.log( $(course_choice[0]).val() );
console.log( $(course_choice[1]).val() );

// ... or without query
console.log( course_choice[0].value );
console.log( course_choice[1].value );

working fine for me : 对我来说很好

    <SELECT class="form-control select_addon" name="course_choice[]">
    var mang_addon_cart = [];
    var course_choice = $('.select_addon option:selected');
    for(var i = 0; i < course_choice.length; i++){
        var val_addon = course_choice.eq(i).val();
        var name_addon = course_choice.eq(i).data('name');
      mang_addon_cart.push({
        giatri : val_addon,
        name : name_addon
      });
    }
    console.log(mang_addon_cart);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM