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

时间:2014-05-18 19:32:13

标签: javascript php select options default-value

我正在尝试获取所选选项的值。但是,有两个不同的选择菜单,使用相同的名称和类。我希望能够在值中拉出文本。

我已经知道他们选择了哪个选项,但我似乎无法获得该选项的价值。

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

这是JS代码

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

非常感谢您的建议!

4 个答案:

答案 0 :(得分:1)

首先,你无法获得两者的价值。所以,你可以把它作为一个数组。你可以这样做:

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

或者,如果您无法更改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();

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

试试这个:

// 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 );

答案 3 :(得分:0)

对我来说很好:

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