javascript - 当 html 中其他选择框更改时更改选择框的样式

标签 javascript jquery html css

我试图在其他选择框更改时更改选择框的 CSS 属性。

当 Id=project-type 时,其值将更改为 bgt-hourly 和 bgt-fixed 选择框相应显示。

如果选择每小时,则应显示 bgt-hourly,当选择“固定”时,应显示 bgt-fixed 选择选项。

我多次尝试使用堆栈溢出中的不同代码,但它并没有很好地帮助我。

如果有人能解决这个问题,我非常感谢他/她的帮助。

谢谢

我有以下代码:

HTML:

<span class="service-tab">
    <span class="sub-cat span6">
        <label for="project-type">Project Type:</label>
        <select class="project-type  " id="project-type" >
            <option value="hourly">Hourly</option>
            <option value="fixed">Fixed</option>
        </select>
    </span>
    <span class="sub-cat span6 " id="bgt-fixed">
        <label for="budget">Budget:</label>
        <select class="budget  " id="budget" required >
            <option value="250">$0 - $250</option>
            <option value="750">$250 - $750</option>
            <option value="5000">$750 - $5000</option>
            <option value="5000">$1500 - $5000</option>
            <option value="5000">$3000 - $5000</option>
            <option value="10000">$5000 - $10000</option>
            <option value="10001">$10000 and Above</option>
        </select>
    </span>
    <span class="sub-cat span6" id="bgt-hourly">
        <label for="budget-hourly">Budget:</label>
        <select class="budget-hourly" id="budget-hourly" required>
            <option value="10">$0 - $10</option>
            <option value="20">$10 - $20</option>
            <option value="50">$20 - $50</option>
            <option value="100">$50 - $100</option>
            <option value="200">$100 - $200</option>
        </select>
    </span>
</span>

JS:

<script type="text/javascript">
$(document).ready(function(){

    $("#project-type").change(function(){
        if($('#project-type').val() == "fixed")
        {
            $('#bgt-fixed').show();
            alert('value 1 (wich refers to Chef) got selected');
        }
    });
    if($(this).val() == "hourly")
        {
            alert('value 1 (wich refers to Chef) got selected');
        }
    });


    });

最佳答案

错误:您已将 if($(this).val() == "hourly") 置于更改函数之外。

尝试:

$(document).ready(function () {
    $("#project-type").change(function () {
        if ($('#project-type').val() == "fixed") {
            $('#bgt-fixed').show();
            alert('value 1 (wich refers to Chef) got selected');
        } else if ($(this).val() == "hourly") {
            alert('value 1 (wich refers to Chef) got selected');
        }
    });
});

DEMO

关于javascript - 当 html 中其他选择框更改时更改选择框的样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24886821/

相关文章:

javascript - 如何将剪贴板中的富文本粘贴到 HTML textarea 元素?

jquery - 如何使用 jquery ajax 将选中复选框的值发送到另一个页面

javascript - 我想将当前时间和持续时间转换为百分比

javascript - 如何通过单击正文内部来关闭侧边栏

javascript - 如何更改轮播下带有文本的部分

javascript - onclick 使用 document.getElementByID 打开窗口传递变量

javascript - 单击 Box shadow Shadow - Javascript(不是 jquery)

jQuery 提取 ul 树的一部分

javascript - Internet Explorer 中的 jQuery UI 对话框和 maxHeight

javascript - 如何将 div 标签的 id、名称和值传递给 JavaScript 函数