如何从多个用户定义的函数中成功返回ajax值?

时间:2015-06-10 11:39:15

标签: ajax

我可能错了标题我不知道如何表达它..

我不知道它是否是重复的,如果是的话请不要忽视,因为我坚持使用这个。

我需要什么?

我有一个ajax函数调用,使用来自3个选择框的onchange事件

这些值将传递给下一页ajax1.php以供执行,并根据类名返回。

是否有可能,我如何检索该值,因为所有三个函数调用都在同一个函数

<select name="start" onchange="ajaxcall('start',this.value)">
   <option value="1">kerala </option>
</select>
<td class="hc"></td>
<select name="hotel" onchange="ajaxcall('hotel',this.value)">
   <option value="1">Taj </option>
</select>
<td class="hc1"></td>
<select name="room" onchange="ajaxcall('room',this.value)">
   <option value="1">single_bed </option>
</select>
<td class="hc2"></td>

我的ajax功能将是:

<script type="text/javascript">
function ajaxcall(value1,type){
   var parameters = 'hotel_category='+type;
   var argUrl = 'ajax_hotels.php';
    $.ajax({
        url: argUrl,
        type: 'POST',
        data: parameters,
        success: function (str) {
        $(".hc1").html(str);    //here i'm confused hw to give the class name commonly so that the values can be returned based on the function call.
        //alert(parameters);                
        }

                });
            }

我编写代码并陷入了succcess:function()的位置,因为我不知道如何将值导向相应的

我没有尝试过执行它。

先谢谢你们.......

1 个答案:

答案 0 :(得分:0)

您的HTML代码看起来像

<select name="start" onchange="ajaxcall('hc',this.value)">
   <option value="1">kerala </option>
</select>
<td class="hc"></td>
<select name="hotel" onchange="ajaxcall('hc1',this.value)">
   <option value="1">Taj </option>
</select>
<td class="hc1"></td>
<select name="room" onchange="ajaxcall('hc2',this.value)">
   <option value="1">single_bed </option>
</select>
<td class="hc2"></td>

你的ajax成功函数将包含,

<script type="text/javascript">
function ajaxcall(value1,type){
   var element = document.getElementById(type);
   var val = element.options[element.selectedIndex].value;
   var parameters = {"hotel_category" : type, "value1" : val};
   var argUrl = 'ajax_hotels.php';
    $.ajax({
        url: argUrl,
        type: 'POST',
        data: parameters,
        success: function (str) {
        $("."+value1).html(str);            
        }
       });
   }
</script>