【问题标题】:jQuery running the function combobox populate for multiple comboboxjQuery运行函数组合框填充多个组合框
【发布时间】:2017-09-27 05:24:45
【问题描述】:

我有组合框

 <select name="search_category[]"  id="search_category_id">
    <option value="" selected="selected"></option>
    <?php
    $query = "SELECT * FROM t_category ORDER BY category_name ASC";
    $results = mysql_query($query);

    while ($rows = mysql_fetch_assoc(@$results))
    {?>
        <option value="<?php echo $rows['category_id'];?>"><?php echo $rows['category_name'];?></option>
    <?php
    }?>
</select>

<span id="show_sub_categories" align="center">

这里是 JS

jQuery(document).ready(function($){
    $('#loader').hide();
    $('#show_heading').hide();
$('#search_category_id').change(function(){
    $('#show_sub_categories').fadeOut();
    $('#loader').show();
    $.post("get_chid_categories.php", {
        parent_id: $('#search_category_id').val(),
    }, function(response){

        setTimeout("finishAjax('show_sub_categories', '"+escape(response)+"')", 400);
    });
    return false;
});

function finishAjax(id, response){
 $('#loader').hide();
 $('#show_heading').show();
 $('#'+id).html(unescape(response));
 $('#'+id).fadeIn();
} 

function alert_id()
{
if($('#sub_category_id').val() == '')
alert('Please select a sub category.');
else
alert($('#sub_category_id').val());
return false;
}

如果我有多个不同 id 的组合框呢?

例子:

<select name="search_category[]"  id="search_category_id1">
    <option value="" selected="selected"></option>
    <?php
    $query = "SELECT * FROM t_category ORDER BY category_name ASC";
    $results = mysql_query($query);

    while ($rows = mysql_fetch_assoc(@$results))
    {?>
        <option value="<?php echo $rows['category_id'];?>"><?php echo $rows['category_name'];?></option>
    <?php
    }?>
</select>

<select name="search_category[]"  id="search_category_id2">
    <option value="" selected="selected"></option>
    <?php
    $query = "SELECT * FROM t_category ORDER BY category_name ASC";
    $results = mysql_query($query);

    while ($rows = mysql_fetch_assoc(@$results))
    {?>
        <option value="<?php echo $rows['category_id'];?>"><?php echo $rows['category_name'];?></option>
    <?php
    }?>
</select>

我希望为该 2 个组合框运行该函数。但是当尝试运行代码时,该函数仅针对第一个组合框运行。 (功能是根据第一个组合框填充第二个组合框)。

【问题讨论】:

    标签: javascript jquery combobox


    【解决方案1】:

    您需要在$.post.success 处理程序中加载第二个select。示例(未经测试):

    $.post("get_chid_categories.php", 
        { parent_id: $('#search_category_id1').val() },
        function (response){
            loadSelect("search_category_id2", response);
        }
    );
    
    function loadSelect(id, response){
        $('#loader').hide();
        $('#show_heading').show();
    
        var target = $('#' + id);
        target.html(decodeURIComponent(response));
        if (!target.is(":visible")) {
            target.fadeIn();
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-22
      • 2011-11-20
      • 1970-01-01
      • 1970-01-01
      • 2011-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多