【问题标题】:Having javascript issue with dropdown boxes submitting?提交下拉框时遇到 javascript 问题?
【发布时间】:2014-07-13 23:19:33
【问题描述】:

我有三个下拉列表,它们来自 php.ini 的 3 个不同的 mysql 表。这是一个员工跟踪系统。

第一个下拉列表有一堆字段,其中一个基本上说它们“不在办公室”。

我希望禁用“产品”和“项目”下拉菜单,并分别自动转到每个表的“N/A”行。

我有以下js:

<script>    
$(function() {
            $("#f_activity_id").change(function() {
                if ($(this).val() == "7") {
                    document.getElementById('f_product_id').value='16', 
                    document.getElementById('f_segment_id').value='7',
                    $("#f_segment_id").prop("disabled", true),
                     $("#f_product_id").prop("disabled", true);

                }
                else
                    $("#f_product_id").prop("disabled", false),
                    $("#f_segment_id").prop("disabled", false);
            });
        });    
</script>

看来我的脚本是正确的,因为它禁用了后两个下拉菜单并将它们设置为与 id 16 和 7 相关的“N/A”。但是在提交时这两个字段为空,我猜是因为我禁用它们?那么如何将它们变灰并仍然允许它们正确提交?

【问题讨论】:

    标签: javascript php jquery mysql drop-down-menu


    【解决方案1】:

    在更改事件代码之后添加这个

    $('#yourForm').submit(function () {
            $("#f_product_id").prop("disabled", false),
            $("#f_segment_id").prop("disabled", false);
    });
    

    【讨论】:

    • 谢谢。这适用于提交。我发现我的代码存在一个问题。如果我去编辑条目,javascript 不会预加载。编辑人员必须在第一个下拉菜单上单击并返回以将第二个下拉菜单变灰。有没有办法让它在页面加载时读取?
    • 在底部&lt;?php if ($someVarYouAreLoadingTheirStatusFrom === 'outOfOffice') { echo "$('#outOfOfficeChoiceInDropDown').click();"; } ?&gt;
    • #outOfOfficeChoiceInDropDown 应该是什么?无论我尝试什么,都会打印在页面上。
    • 那是伪代码 :-) 您的示例没有描述从服务器检索数据的机制,这是您必须做的。
    猜你喜欢
    • 1970-01-01
    • 2016-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多