0

我已经编写了这个 jquery 函数并希望单独工作。

$(function(){
    $('.otherreason').hide();
    $('.inqPurpose').change(function() {
        if($(this).find('option:selected').val() == "Other"){
            $('.otherreason').show();
        }else{
            $('.otherreason').hide();
        }
    });
}); 

此 html 代码在表单标记中重复 4 次,当我单击任何其他选项字段时,所有 html 一起工作,我想单独工作

<select class="inqPurpose formField" name="how2" id="how2">
    <option>Sales</option>
    <option>Services</option>
    <option>Corporate Partnership</option>
    <option>Corporate Trade Show</option>
    <option>Requesting Product Samples for Trade Show or Event</option>
    <option>Website Feedback</option>
    <option value="Other">Other (Please Specify)</option>
</select>

<input class="formField otherreason" type="text" placeholder="Other Reason" size="53" maxlength="300" />
4

1 回答 1

2

如果您在选择选项后有其他原因,您可以使用 .nextAll() 并找到第一个 otherreason 类

$(function(){
    $('.otherreason').hide();
    $('.inqPurpose').change(function() {
        if($(this).val() == "Other"){
               $(this).nextAll('.otherreason:first').show();
        }else{
           $(this).nextAll('.otherreason:first').hide();
        }
    });
}); 

小提琴演示在这里http://jsfiddle.net/kgPaY/1/

于 2013-02-14T12:51:21.773 回答