获取div中的选择值,然后显示主div的子div

时间:2014-01-23 20:23:44

标签: javascript jquery

HTML:

<div class="question>
   <select name="status">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
   </select>
   <div class="subquestion">
    <input type="file name="file>
   </div>
</div>

JS

$(document).ready(function () {
    $(".question").each(function () {
        $(".subquestion").hide();
        $('select[name=status]').click(function () {
            if (this.value == "1" || this.value == "2" || this.value == "3") {
                // show $(this) div 'subquestion'
            }
            else {
               $(".subquestion").hide();
            }
        })
    })
});

我想获得具有此选择值的选择值,然后如果值为1 || 2 || 3然后使用这个div子问题show(); 但它必须在if语句之外,因为有选择('select')标记,div子问题在该标记之外。

2 个答案:

答案 0 :(得分:0)

改变这个:

           $('select[name=status]').click(function () {
                if (this.value == "1" || this.value == "2" || this.value == "3") {
                    // show $(this) div 'subquestion'
                }
                else {
                   $(".subquestion").hide();
                }
            })

到这个

           $('select[name="status"]').change(function () {
                if ($(this).val() == "1" || $(this).val() == "2" || $(this).val() == "3") {
                    $(this).closest('.question').find(".subquestion").show();
                }
                else {
                   $(this).closest('.question').find(".subquestion").hide();
                }
            })

答案 1 :(得分:0)

如果您需要显示与该问题相关的subquestion,请使用以下命令:

$(document).ready(function () {
    $(".question").each(function () {
        $(".subquestion").hide();
        $('select[name=status]').change(function () {
            if (this.value == "1" || this.value == "2" || this.value == "3") {
                $(this).next('.subquestion').show();
            }
            else {
               $(this).next('.subquestion').hide();
            }
        })
    })
});

检查此演示http://jsfiddle.net/6ZxDJ/