我有一个动态表单,可以创建下拉列表并正确递增名称。我需要做的是,如果用户选择某个下拉值,则隐藏文本框。我可以这样做,但我需要帮助的是隐藏正确的东西,因为名称是增量的。
$("select[id^=Profession]").change(function() {
if(jQuery(this).find("option:selected").val() == "2") {
jQuery("#ADA_1").hide();
} else {
jQuery("#ADA_1").show();
}; });
工作样本:jsfiddle
答案 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();
}
});
答案 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();
}
});
答案 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();
}
});