使用php在选择更改时出现div

时间:2014-01-11 06:23:03

标签: javascript jquery html

我有点卡住,我不知道为什么。

我正在尝试创建一个表单,在这个表单中我放了一个'select'标签。每个选项都有一个数字,0到5.如果选择小于2,则显示div,否则不显示任何内容。这是我的代码:

<script>
$(document).ready(function(){
    $("#depuis").change(function(){
        if ($('#depuis') < 2)
            $('#moins2').show();        
    });
});
</script>

这是我的身体:

<form action="test.php" method="post">
    <table class="formDiv" id="info_perso">
        <tr>
            <td><label for="depuis">Depuis combien d'annees:</label></td>
            <td><select id="depuis" name="depuis">
                    <option value=''></option>
                    <option value='1'>1</option>
                    <option value='2'>2</option>
                    <option value='3'>3</option>
                    <option value='4'>4</option>
                    <option value='5'>5</option>
                </select>
            </td>
        </tr>
    </table>
</form>
<table class="formDiv" id="moins2">
    <tr>
        <td>Veuillez entrer votre ancienne adresse.</td>
    </tr>
    <tr>
        <td><label for="adresse2">Adresse :</label></td>
        <td><input type="text" id="adresse2" name="adresse2"></td>
        <td><label for="app2">App :</label></td>
        <td><input type="text" id="app2" name="app2"></td>
    </tr>
    <tr>
        <td><label for="codepostal2">Code Postal :</label></td>
        <td><input type="text" id="codepostal2" name="codepostal2"></td>
        <td><label for="ville">Ville :</label></td>
        <td><input type="text" id="ville" name="ville"></td>
    </tr>
    <tr>
        <td><label for="telephone2">Telephone :</label></td>
        <td><input type="text" id="telephone2" name="telephone2"></td>
    </tr>
</table>

我的功能有问题,我该如何解决?

6 个答案:

答案 0 :(得分:1)

写:

check();
$("#depuis").change(function () {
    check();
});
function check() {
    if (parseInt($("#depuis").val()) < 2) {
        $('#moins2').show();
    } else {
        $('#moins2').hide();
    }
}

DEMO here.

答案 1 :(得分:1)

尝试这样的事情

$(function(){
   $("#depuis").change(function(){
        if (this.value < 2){
            $('#moins2').show();        
        }else{
            $('#moins2').hide();        
        }
    });
})

答案 2 :(得分:0)

试试这个:

<script>
$(document).ready(function(){
    $("#depuis").change(function(){
        if ($('#depuis').val() < 2)
            $('#moins2').show();        
        else
            $('#moins2').hide();        
    });
});
</script>

Demo

答案 3 :(得分:0)

使用.val()

获取选择框值
    <script>
    $(document).ready(function(){
        $("#depuis").on('change',function(){

        if (parseInt($("#depuis").val()) < 2)
            $('#moins2').show();
        else
            $('#moins2').hide();
          });
        $("#depuis").trigger('change')
    });    
   </script>

DEMO

答案 4 :(得分:0)

    if ($('#depuis') < 2)
        $('#moins2').show();

你没有与整数进行比较...首先获得索引大小然后进行比较 或使用其他情况来检查这里出了什么问题...

答案 5 :(得分:0)

在您的选择框中添加一个onchage事件,如此

<select id="depuis" name="depuis" onchange="javascript:show_div(this.value);">

并使用js函数

function show_div(str)
{
       if(str<2)
       {
           document.getElementById('moins2').style.display="block";
       }   
       else
       {
           document.getElementById('moins2').style.display="none";
       } 


}

你也可以使用jquery函数,如果没有attibute onchange on select box

$(function(){
   $("#depuis").change(function(){
        if (this.value < 2){
            $('#moins2').show();        
        }else{
            $('#moins2').hide();        
        }
    });
})

请参阅JS Fiddle