我有一个包含3个选项的表单并且已经应用了jqTransform。
<div class="selects">
<form id="form" class="form_comer" method="post" action="ajax/selects.php">
<select id="select-local" name="select-local" class="select-index">
<option selected="selected" value="">'.$select_comer_tipo.'</option>
<option value="1">'.$select_comer_rest.'</option>
<option value="2">'.$select_comer_bar.'</option>
<option value="3">'.$select_comer_cafe.'</option>
</select>
<select id="select-ambiente" name="select-ambiente" class="select-index">
<option value="">'.$select_comer_ambiente.'</option>
<option value="1">'.$select_comer_animado.'</option>
<option value="2">'.$select_comer_silencioso.'</option>
<option value="3">'.$select_comer_glamouroso.'</option>
</select>
<select id="select-precio" name="select-precio" class="select-index">
<option value="">'.$select_comer_precio.'</option>
<option value="1">'.$select_comer_p1.'</option>
<option value="2">'.$select_comer_p2.'</option>
<option value="3">'.$select_comer_p3.'</option>
</select>
</form>
</div>
当我点击3个选项中的任何一个时,我有一个有效的功能。我希望它将选择的值和我选择的select的id传递给ajax函数。我的“sel”变量在这里不起作用,它只获得它们的第一个选择的id。
$(".form_comer div.jqTransformSelectWrapper ul li a").click(function(){
var sel= $("select.jqTransformHidden").attr('id');
var index= $(this).attr('index');
var value = $('select.jqTransformHidden option:eq('+index+')').attr('value');
$.ajax({
type: "POST",
url: $("#form").attr("action"),
data: "value=" + value + "&sel=" + sel,
dataType: 'html',
success: function(msg) {
alert(msg);
}
});
return false; //prevent default browser action
});
答案 0 :(得分:1)
它可能不是很优雅,但这正是我所需要的:
var sel= ($(this).closest('div')).children('select').attr('id');