我使用了三个具有相同类别的选择框以及一个单选按钮。如何在ajax响应中获取选定的下拉值?
我的问题是,我正在获取ajax中的第一个选择框,但是当我尝试选择第二个或第三个时,我得到一个空值。
你能告诉我错误在哪里或者给我在ajax中取值的想法吗?
以下是代码:
<td><input type="radio" id="active_btn" name="status" value="yes">Active</td>
<td><select class="desig_opt" name="select_opt" ><option value="" >Select</option><option value="Admin" >Admin</option>
<option value="Staff" >Staff</option></select></td>
<td><input type="radio" id="deactive_btn" name="status" value="no">Deactive</td>
<td><select class="desig_opt" name="select_opt" ><option value="" >Select</option><option value="Admin" >Admin</option>
<option value="Staff" >Staff</option></select></td>
<td><input type="radio" id="both_btn" name="status" value="both">Both</td>
<td><select class="desig_opt" name="select_opt"> <option value="" >Select</option><option value="Admin" >Admin</option>
<option value="Staff">Staff</option></select></td>
在ajax响应中,我使用下面的行来获取所选值:
var admin=$(".desig_opt option:selected").val();
这是采取价值观的正确方法吗?如果没有,你能告诉我怎么做?
答案 0 :(得分:0)
您必须为每个选择下拉列表分配单独的ID,以便您可以单独获取它们以发送您的ajax数据。
例如;
var admin1= $('#desig_opt1').find('option:selected').attr("value");
var admin2= $('#desig_opt2').find('option:selected').attr("value");
var admin3= $('#desig_opt3').find('option:selected').attr("value");
中的回复
答案 1 :(得分:0)
(".desig_opt option:selected") , returns an array.
尝试
JS
function test(){
var admin=$(".desig_opt option:selected");
$.each(admin, function( index, value ) {
alert( $(admin[index]).val() );
});
}
也许您可以将值存储在其他数组中,如
function test(){
var admin=$(".desig_opt option:selected");
var data = [];
$.each(admin, function( index, value ) {
// validate if $(admin[index]).val() != '' before add ??
data.push($(admin[index]).val());
});
alert(data);
}