jquery - 如果选择了选择下拉列表,则隐藏css

时间:2013-04-22 21:16:43

标签: jquery

我有一个动态表单,可以创建下拉列表并正确递增名称。我需要做的是,如果用户选择某个下拉值,则隐藏文本框。我可以这样做,但我需要帮助的是隐藏正确的东西,因为名称是增量的。

$("select[id^=Profession]").change(function() {
 if(jQuery(this).find("option:selected").val() == "2") {
    jQuery("#ADA_1").hide();
} else {
    jQuery("#ADA_1").show();
};  });

工作样本:jsfiddle

4 个答案:

答案 0 :(得分:4)

试试这个:

$("select[id^=Profession]").change(function() {
 var id = $(this).attr('id').split('Profession')[1];
 if(jQuery(this).find("option:selected").val() == "2") {
    jQuery("#ADA_"+id).hide();
 } else {
    jQuery("#ADA_"+id).show();
 }
});

请参阅working fiddle

答案 1 :(得分:2)

试试这个:

$("select[id^=Profession]").change(function () {
    index = $(this).attr('id').substr(-1);
    if (jQuery(this).find("option:selected").val() == "2") {
        jQuery("#ADA_"+index).hide();
    } else {
        jQuery("#ADA_"+index).show();
    }
});

<强> jsFiddle example

答案 2 :(得分:1)

你也可以这样做:

$("select[id^=Profession]").change(function () {
    if (jQuery(this).find("option:selected").val() == "2") {
        jQuery(this).parent().next("[id^=ADA_]").hide();
    } else {
        jQuery(this).parent().next("[id^=ADA_]").show();
    }
});

jsfiddle demo

答案 3 :(得分:1)

$("select[id^=Profession]").change(function () {
    var id = $(this).attr('id').replace('Profession', '');
    if (jQuery(this).find("option:selected").val() == "2") {
        jQuery("#ADA_"+id).hide();
    } else {
        jQuery("#ADA_"+id).show();
    }
});

DEMO