当其他选择框在html中更改时,更改选择框的样式

时间:2014-07-22 11:59:28

标签: javascript jquery html css

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

当Id =项目类型时,更改其值比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');
        }
    });


    });

4 个答案:

答案 0 :(得分:3)

错误:您已将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

答案 1 :(得分:1)

不得为最佳代码实践设置类或ID相同

$("#project-type").change(function(){}

这应该是

$(".project-type").change(function(){}

<select class="project-type" id="projects" >

消除多余的空间

答案 2 :(得分:1)

$(".project-type").change(function(){...}

答案 3 :(得分:1)

试试这个:

  $(document).ready(function(){

    $("#project-type").change(function(){
        if($('#project-type').val() == "fixed")
        {
            $('#bgt-fixed').show();
            $('#bgt-hourly').hide();
            $('#project-time').hide();
            $('#project-hours').hide();

        }
        else if($(this).val() == "hourly")
        {
            $('#bgt-hourly').show();
            $('#bgt-fixed').hide();
            $('#project-time').show();
            $('#project-hours').show();

        }
    });    
});