您将希望在客户端而不是服务器端(使用属性)处理此问题。
如果您已经在使用 jQuery,那么可以这样做。这是jsFiddle。
$(function () {
var dropdown = $('#dropdown').change(function (event) {
if ($(this).val() == "no") {
$('#fieldToHide').hide();
} else {
$('#fieldToHide').show();
}
});
});
您想在客户端执行此操作的原因非常简单,任何其他方法都需要在每次更改下拉列表时进行回发以检查值..
**编辑** 来自评论:
是否可以将此 JavaScript 注入页面... ...而不是在每个页面上复制本质上相同的脚本
这可以重写,更通用一点,因此可以在不同的页面上重用。将它添加到 yoursite.js (你应该已经拥有..),然后根据需要简单地将其连接到每个页面上。更新了 jsFiddle。
网站.JS
function hideIf(selectField, hideField, hideValue) {
$(selectField).change(function (event) {
if ($(this).val() == hideValue) {
$(hideField).hide();
} else {
$(hideField).show();
}
});
}
然后在你想使用它的每个页面中,像这样连接它:
$(function () {
hideIf("#dropdown", "#fieldToHide", "no");
});
这样,您可以在不同的选择字段上多次调用 hideIf 而无需重写上面的脚本..