0

我不确定为什么下面的代码没有在我的 div 中隐藏我的两个 div 以获取我的内容。有人可以检查我的代码吗?该代码不会隐藏下面的任何一个 div。谢谢

好的,这是我编辑的代码。在初始化加载时,两个表单都出现在选择类型下,当我选择经销商/客户时,显示正确的表单并选择类型,然后在您选择一个后显示无。我如何让它最初隐藏所有内容?谢谢

<div id="contentArea">
            <form action="xxxxx.php" method="post" onsubmit="return checkStuff();" enctype="multipart/form-data">
                Warranty Registration Type:<br/>
                <select id="select"> 
                    <option value ="#blank">Select Type</option>
                    <option value ="#dealerform">Dealer</option>
                    <option value ="#customerform">Customer</option>
                </select>
                <br/>
                <br/>
                <div id="dealerform">
                    Dealer Name:   <input type="text" name="dealername"> <br/>
                    Dealer Address:  <input type="text" name="dealeradd"> <br>
                </div>
                <div id="customerform">
                    First Name:  <input type="text" name="firstname"> <br>
                    Last Name:  <input type="text" name="lastname"> <br>
                </div>
                <script>
                $(document).ready(function(){
                    $('#select').change(function(){
                        $('#dealerform,#customerform').hide();
                        $($(this).find('option:selected').attr('value')).show();
                    });
                });
                </script>
4

2 回答 2

3

可能是因为您的选择没有您在更改事件中使用的 id 'select'。

                <select id="select"> 
                    <option value ="#dealerform">Dealer</option>
                    <option value ="#customerform">Customer</option>
                </select>
于 2013-04-07T05:35:02.627 回答
0

嘿,你应该这样写

 $($(this).find('option:selected').attr('value')).show();

而不是这个

 $($(this).find('option:selected').attr('id')).show();

这样相应的 div 就会隐藏,因为其他人说需要为选择添加 id 或在选择之前删除 #

$('select').change(....)
于 2013-04-07T05:38:11.937 回答