Javascript 如何获取具有相同类和名称的多个选择选项的值
我正在尝试获取所选选项的值。但是,有两个不同的选择菜单,使用相同的名称和类。我希望能够将文本拉入值内 我已经知道他们选择了哪个选项,但我似乎无法得到该选项的价值 这是HTMLJavascript 如何获取具有相同类和名称的多个选择选项的值,javascript,php,select,options,default-value,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</OPT
<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>
非常感谢你的建议 首先,您无法同时获得两者的值。因此,可以将其作为数组来获取。您可以这样做:
<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>
试试这个:
// 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 );
为我工作很好:
<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);
var mang_addon_cart=[];
var course_choice=$('.select_addon option:selected');
对于(变量i=0;i
您不能更改他们的姓名吗?可以-我可以更改他们的姓名。我只是想找出最简单的方法@我可以访问所有的代码,所以如果你有建议,请发布它。ThanksI只是想知道,如果他们有不同的名字会更容易,因为你可以分别引用他们。然而,下面贴出的答案可以绕过这个问题。好的。所以,如果我把名字分开,那么我上面的代码会起作用吗@我相信是这样;此外,类通常用于将相似的事物分组在一起(正如您所做的),但名称对于每个元素通常是唯一的。它现在不起作用的原因是因为name=“course\u choice”
引用了两个元素,这就是sjkm下面的答案起作用的原因:它选择了引用的两个对象中的每一个。请不要copy@sjkm对不起,没有别的办法了。我的回答将归功于你,这取决于你。你不需要。但是把它放进去并不重要。给出了相同的结果@KingOptimizer!如果将其显示为PHP文件,则它将作为数组显示。也就是说,course\u choice=>Array(2,3)
。像这样的东西!当我使用你的代码时,它显示数组@恶作剧
var course_choices = $('select[name="course_choice"]');
var course_choice1 = course_choices.eq(0).val();
var course_choice2 = course_choices.eq(1).val();
// 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 );
<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);