javascript - 条件形式取决于选择列表中的答案不起作用

标签 javascript jquery html

我正在构建一个简单的表单,其中根据用户在选择列表中所做的选择启用输入字段。为此,我使用了一些 javascript。

我让它在一种情况下工作,但表格中有 2 个条件。
首先是一个选择下拉菜单,其中根据两个答案之一出现 2 个输入字段。
第二个是一个输入字段,根据选择列表中选择的一个选项(即“其他”)出现

这是 html:

<div class="form-div1">
<label>Select your profile</label>
<br>
<select>
    <option value="option1">I'm a first-time user</option>
    <option value="option2">I would like to renew or upgrade</option>
</select>


抱歉 但我的 html 代码通常较长,但它总是被编辑器 chop 。我假设这是因为它遇到了一个关闭的 div?你可以在jsfiddle中看到完整的代码

这是js:

    $(document).ready(function () {

    $('.form-div2').show();
    $('.form-div3').show();
    $('.form-div4').show();
    $('.form-div42').hide();
    $('.form-div5').show();

    $('#select').change(function () {
        if ($('#select option:selected').text() == "I'm a first-time user") {
            $('.form-div2').show();
            $('.form-div3').show();
        } else if ($('#select option:selected').text() == "I would like to renew or upgrade") {
            $('.form-div2').hide();
            $('.form-div3').hide();
        }
    });

    $('#select').change(function () {
        if ($('#select option:selected').text() == "Other") {
            $('.form-div42').show();
        } else if ($('#select option:selected').text() !== "Other") {
            $('.form-div42').hide();
        }
    });
});

这是 fiddle :http://jsfiddle.net/4EmE5/2/

希望能帮到你

最佳答案

根据大师 @Kevin Bowersox 支持评论重新发布

对您的代码进行以下更改,

HTML,

<div class="form-div1">
    <label>Select your profile</label>
    <br />
    <select id='user'>
        <option value="option1">I'm a first-time user</option>
        <option value="option2">I would like to renew or upgrade</option>
    </select>
</div>
<div class="form-div2">
    <label>SEN</label>
    <br />
    <input type "text" name="input1" class="input1" />
</div>
<div class="form-div3">
    <label>Email Address</label>
    <br>
    <input type "text" name="input2" class="input2">
</div>
<div class="form-div4">
    <label>Select your product</label>
    <br>
    <select id='product'>
        <option value="option1">Product1</option>
        <option value="option2">Other</option>
    </select>
</div>
<div class="form-div42">
    <label>Specify your product</label>
    <br>
    <input type "text" name="input2" class="input2">
</div>
<div class="form-div5">
    <label>Select your license</label>
    <br />
    <select>
        <option value="option1">25 users</option>
        <option value="option2">50 users</option>
    </select>
</div>

JS:

$('.form-div2, .form-div3, .form-div4, .form-div5').show();
$('.form-div42').hide();

$('#user').change(function () {
    var selected = $('#user option:selected').text();
    $('.form-div2, .form-div3').toggle(selected == "I'm a first-time user");
});

$('#product').change(function () {
    var selected = $('#product option:selected').text();
    $('.form-div42').toggle(selected == "Other");

});

DEMO

关于javascript - 条件形式取决于选择列表中的答案不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21777481/

相关文章:

javascript - JavaScript 中数字方法的奇怪语法

javascript - 通过两个文本查找元素

javascript - 动态 HTML img 上的绑定(bind)/实时加载事件不起作用

javascript - 难以定位使用 CSS 滑动的 div

javascript - Mapbox JS SDK 地理编码客户端未定义

JavaScript (jQuery)/HTML : Setting an &lt;input&gt; or <select> to enabled, 不工作?

javascript - 如何使用 setInterval() 重复调用带有参数的函数?

javascript - 使用 Spring :message from JavaScript

html - 让 <aside> 与 mainSection 水平对齐

javascript - jquery 自动完成与外部 json 源