Javascript 需要关于我的jQuery脚本的帮助吗
我能够根据您可以看到的选定类别创建一个双元下拉子类别 现在,我的问题是,如果类别在加载时定义了一个由请求定义的选定值,就像(注意发布的\u parent\u id请求)。如果我的jQuery如下所示,如何调用我的(Javascript 需要关于我的jQuery脚本的帮助吗,javascript,jquery,ajax,Javascript,Jquery,Ajax,我能够根据您可以看到的选定类别创建一个双元下拉子类别 现在,我的问题是,如果类别在加载时定义了一个由请求定义的选定值,就像(注意发布的\u parent\u id请求)。如果我的jQuery如下所示,如何调用我的(get\u child\u categories.php?parent\u id=6): $(document).ready(function($) { var list_target_id = 'list_target'; //first select list ID var
get\u child\u categories.php?parent\u id=6
):
$(document).ready(function($) {
var list_target_id = 'list_target'; //first select list ID
var list_select_id = 'list_select'; //second select list ID
var initial_target_html = '<option value="">Please select a subcategory...</option>'; //Initial prompt for target select
$('#'+list_target_id).html(initial_target_html); //Give the target select the prompt option
$('#'+list_select_id).change(function(e) {
//Grab the chosen value on first select list change
var selectvalue = $(this).val();
//Display 'loading' status in the target select list
$('#'+list_target_id).html('<option value="">Loading...</option>');
if (selectvalue == "") {
//Display initial prompt in target select if blank value selected
$('#'+list_target_id).html(initial_target_html);
} else {
//Make AJAX request, using the selected value as the GET
$.ajax({url: 'get_child_categories.php?parent_id='+selectvalue,
success: function(output) {
//alert(output);
$('#'+list_target_id).html(output);
},
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status + " "+ thrownError);
}});
}
});
});
$(文档).ready(函数($){
var list_target_id='list_target';//首先选择list id
var list_select_id='list_select';//第二个选择列表id
var initial_target_html='请选择子类别…';//目标选择的初始提示
$(“#”+list_target_id).html(initial_target_html);//给目标选择提示选项
$(“#”+列表选择id)。更改(函数(e){
//在第一次选择列表更改时获取所选值
var selectvalue=$(this.val();
//在目标选择列表中显示“加载”状态
$('#'+list_target_id).html('Loading…');
如果(选择值==“”){
//如果选择空值,则在目标选择中显示初始提示
$(“#”+list_target_id).html(初始的_target_html);
}否则{
//使用所选值作为GET,发出AJAX请求
$.ajax({url:'get_child_categories.php?parent_id='+selectvalue,
成功:功能(输出){
//警报(输出);
$('#'+list_target_id).html(输出);
},
错误:函数(xhr、ajaxOptions、thrownError){
警报(xhr.status+“”+thrownError);
}});
}
});
});
我的问题很清楚吗?我现在还在学这种东西。如果在加载页面时预先选择了类别下拉列表,则在
if(selectvalue==“”)
语句中可以定义一些内容?首先要做的是将AJAX功能移出.change
事件
仅当dwopdown值更改时,更改事件才会激发,并且如果下拉列表以选定值呈现,则更改事件不会处理该下拉列表
将其作为单独的函数,并在page load和on.change事件上调用它
**不是一个完整的代码**
$(function(){
var dropdown = $('#'+list_select_id);
if (dropdown.val() !== "") {
initiateAJAX(dropdown.val());
}
dropdown.change(function() {
initiateAJAX(this.value);
});
function initiateAJAX(param) {
}
});
最简单的方法是在加载DOM后手动触发更改事件
// Assuming that -1 is the default selected value
var selectvalue = $('#'+list_select_id).val();
if(selectvalue != "-1")
{
$('#'+list_select_id).trigger("change");
}
将代码追加到$(document.ready(function(){…})
因此,您的代码如下所示
$(document).ready(function($) {
var list_target_id = 'list_target'; //first select list ID
var list_select_id = 'list_select'; //second select list ID
var initial_target_html = '<option value="">Please select a subcategory...</option>'; //Initial prompt for target select
$('#'+list_target_id).html(initial_target_html); //Give the target select the prompt option
$('#'+list_select_id).change(function(e) {
// ... your logic here
});
// Check if value is prefilled.
var selectvalue = $('#'+list_select_id).val();
// Assuming that -1 is the default value
if(selectvalue != "-1")
{
$('#'+list_select_id).trigger("change");
}
});
$(文档).ready(函数($){
var list_target_id='list_target';//首先选择list id
var list_select_id='list_select';//第二个选择列表id
var initial_target_html='请选择子类别…';//目标选择的初始提示
$(“#”+list_target_id).html(initial_target_html);//给目标选择提示选项
$(“#”+列表选择id)。更改(函数(e){
//…你的逻辑在这里
});
//检查值是否已预填充。
var selectvalue=$('#'+列表选择id).val();
//假设-1是默认值
如果(选择值!=“-1”)
{
$('#'+list_select_id).trigger(“change”);
}
});
真管用!非常感谢您指出具体细节。