【问题标题】:Trigger a function based on the value of a radio button retrieved from the database根据从数据库中检索到的单选按钮的值触发函数
【发布时间】:2014-08-20 19:08:21
【问题描述】:

此函数用于编辑表单,因此单选按钮使用存储在数据库中的值进行初始化。单击单选按钮后,必须调用 2 个不同的功能。该函数的基本作用是填充一个下拉列表。 例如:如果选择了第一个单选按钮,则下拉列表必须仅填充 gents 项目。

HTML 代码

<td>Catalogue Type</td>
<td>
   <input type="radio" name="catalogue_type" id="catalogue_type" class="catalogue_type" <?php if($val['gents_ladies']=="Gents"){echo "checked";} ?> value="Gents" onclick="getCategoriesGents()"/>GENTS
   <input type="radio" name="catalogue_type" id="catalogue_type" class="catalogue_type" <?php if($val['gents_ladies']=="Ladies"){echo "checked";} ?> value="Ladies" onclick="getCategoriesLadies()"/>LADIES
</td>

脚本

<script type="text/javascript">
      function getCategoriesGents(){
            var request = $.ajax({
                url: "../controller/sale.php",
                type: "POST",
                data: {action:'get_gents_categories'},  
                dataType: "html"
            });
            request.done(function(msg){ 
                $('#category_details').html(msg);
            }); 
            request.fail(function(jqXHR, textStatus) {
                alert( "Request failed: " + textStatus );
                return false;
            });
        }
        function getCategoriesLadies(){
                var request = $.ajax({
                    url: "../controller/sale.php",
                    type: "POST",
                    data: {action:'get_ladies_categories'},  
                    dataType: "html"
                });
                request.done(function(msg){
                    $('#category_details').html(msg);
                }); 
                request.fail(function(jqXHR, textStatus) {
                    alert( "Request failed: " + textStatus );
                    return false;
                });
        }
</script> 

如果我将$(document).ready(function() { 放在脚本顶部,这将不起作用。所以我把它拿出来了。

当我单击/关注下拉菜单时,这非常有效。但我想要的是当页面本身加载 PHP/Database 值时,我需要该函数来启动并填充下拉列表。任何建议将不胜感激...

【问题讨论】:

    标签: php jquery ajax


    【解决方案1】:

    这样的事情怎么样:

    function getCategoriesGents(){
    ...
    }
    function getCategoriesLadies(){
    ...
    }
    
    $(document).ready(function() { 
        if(databaseVal == gents){
            getCategoriesGents()
        } else {
            getCategoriesLadies()
        }
    });
    

    基本上根据db值触发一个函数onload。

    【讨论】:

    • 您应该传递页面上活动单选按钮的数据库值。页面加载后,您运行 if else 以根据单选按钮的值检查要发送的函数/ajax 请求。检查此jsfiddle.net/0ns44mwz 您必须传递活动单选按钮的值并对其执行检查。
    • 更新:而不是获取数据库 val,只需检查哪个按钮是否处于活动状态,然后从那里设置 jsfiddle.net/0ns44mwz/1 我认为更好的解决方案哈哈
    猜你喜欢
    • 2013-03-19
    • 1970-01-01
    • 2015-11-11
    • 2019-09-16
    • 2014-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多