我正在试图找出处理下拉列表的最佳方法,其中一个选项“other”显示隐藏的文本字段(通过jQuery),然后用户可以输入文本。如果下拉列表和输入字段都被赋予相同的“名称”属性,则服务器端代码会对每个值进行检查,以便知道哪个是活动值 - 例如,如果选择框的值是“ “,然后检查文本输入字段的值 - 如果这不是默认值(”输入文本“),则可以使用此值并将其保存到数据库中。对于这个问题,这是一个混乱的方法吗?
编辑:这是我显示/隐藏“其他”字段的客户端代码。
$('.select_change').live("click change", function(){
//check if value is other
$(this).parent().find(".hidden").toggle($(this).val() == 'other');
});
答案 0 :(得分:2)
我认为要走的路是检查所选值是否等于“其他”,然后根据值显示/隐藏输入。
在服务器端,我会执行类似的检查,如果下拉值等于“其他”,则存储文本框中的值。
我没有测试过这段代码,但我认为这是一般的想法:
$('#myDrpdown').change(function() {
if($(this).val() === "other"){
$("#hiddenInput").show();
} else {
$("#hiddenInput").hide();
}
});