0

我有多种形式,如下所示:

<form class="form_game">
<select name="game" class="gm">
<option value="Badminton">Badminton</option>
<option value="Basketball">Basketball</option>
<option value="Football">Football</option>
</select>
</form>

<form class="form_branch">
<input name="action" type="hidden" value="the_ajax_hook_2" />
<select name="branch" id="branch" onchange="display_table();" >
<option value="CSE">CSE</option>
<option value="CE">CE</option>
<option value="ECE">ECE</option>
<option value="EE">EE</option>
<option value="IT">IT</option>
<option value="ME">ME</option>
<option value="PE">PE</option>
<option value="PG">PG</option>
</select>
</form>
<form class="form_year">
<input name="action" type="hidden" value="the_ajax_hook_3" />
<select name="year" id="year" onchange="display_table_1();" >
<option value="D1">D1</option>
<option value="D2">D2</option>
<option value="D3">D3</option>
<option value="D4">D4</option>
</select>
</form>

我的 jQuery AJAX 函数是:

function display_table(){

jQuery.post(the_ajax_script.ajaxurl, jQuery(".form_branch").serialize(),function(response_from_display_data_table){
            jQuery(".table_disp").html(response_from_display_data_table);
        });
}

function display_table_1(){

jQuery.post(the_ajax_script.ajaxurl, jQuery(".form_year").serialize(),function(response_from_display_data_table_1){
            jQuery(".table_disp").html(response_from_display_data_table_1);
        });
}

如您所见,我的 display_table() 从“form_branch”获取值,而 display_table_1() 从“form_year”获取值。它们对应于jQuery中定义的各自的其他功能。

如何使第一种形式的值,即“form_game”传递给其他两种形式,以便其他形式在提交时将“form_game”中的值连同它们各自的值一起发布到它们的目标函数?必须做些什么来实现这一目标?

4

1 回答 1

0

您可以使用beforeSend ajax 事件

可能是这样的(代码未测试)

jQuery.post(the_ajax_script.ajaxurl,   jQuery(".form_branch").serialize(),function(response_from_display_data_table){
        jQuery(".table_disp").html(response_from_display_data_table);
    }).beforeSend(display_table_1());

或者,反过来:

jQuery.post(the_ajax_script.ajaxurl, jQuery(".form_year").serialize(),function(response_from_display_data_table_1){
        jQuery(".table_disp").html(response_from_display_data_table_1);
    }).beforeSend(display_table());
于 2013-07-09T17:09:42.160 回答