仅以此形式显示元素

时间:2014-01-23 18:38:01

标签: javascript jquery

我有HTML表单:

<div class="question">
    <td class="status1">
        <form action="update.php" method="post" id="form-id"  
            enctype="multipart/form-data">
        <div class="recstatus">$row[12]</div>
        <input type="hidden" value=$row[1] name="audit_name">
        <select name="status">
            <option value="1">OK</option>
            <option value="2">Normal</option>
            <option value="3">Bad></option>
            <option selected="selected">Choose</option>
        </select>
</div>
<div class="subquestion">
    <label>Upload File</label>
    <input type="file" name="file">
    <input type="submit" name="submit">
</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") {
                $(".subquestion").show();
            }
            else {
                $(".subquestion").hide();
            }
        })
    })
});

如果用户选择其中一个值,它将显示另一个表单项上传文件,但问题是它出现在每个表单中class =“subquestion”(ps我有循环中的这个表单)我想要出现文件上传以完全相同的形式输入用户选择值

1 个答案:

答案 0 :(得分:0)

首先在“问题”类div中保留“subquestion”类div

<div class="question">
....
<div class="subquestion">
    <label>Upload File</label>
    <input type="file" name="file">
    <input type="submit" name="submit">
</div>
</div>

应该有效并确保html标签正确关闭

使用$(“div.question”)。next(“div.subquestion”)

我的意思是$(this).next(“。subquestion”)。show();