我有一个表单,其中包含使用 HTML 呈现的不同数量的下拉框。我希望从这些下拉框中之一向用户传递一个值 - 仅一个值。我怎样才能做到这一点?这是很简单的事情,但我花了几个小时。
<form id="form" name="form" method="post" action="nextStep.cshtml">
<select name="1">
<option value="1">1</option>
<option value="2">2</option>
</select>
<select name="2">
<option value="3">3</option>
<option value="4">4</option>
</select>
<button type="submit">Submit</button>
在 nextStep.cshtml 中我有:
var number = Request.form[//我可以在这里做什么?];
下拉列表名称以循环形式填充。我希望拥有的功能是让用户从一个下拉列表中选择一个值,并禁用所有其他值。然后我希望能够在 nextStep.cshtml 中提取这段数据。
我该怎么做?
这段代码有错误:
<script>
$(function(){
$('#form select').change(function(){
var thisDd = $(this);
$('#myValueField').val(thisDd.val());
$('#form select').each(function(i, e){
if(thisDd.val() == ""){
$(e).attr('enabled', 'enabled');
} else{
if(e==thisDd[0]) return; // not disable myself
$(e).attr('disabled', 'disabled'); // disable other
}
});
});
});
</script>
最佳答案
使用 jQuery 你可以做到这一点(未经测试):
<hidden name="myValueField" id="myValueField">
// Submit the form after selection
$(function(){
$('#form select').change(function(){
$('#myValueField').val($(this).val());
$('#form').submit();
});
});
// or disable other dropdowns after selection
$(function(){
$('#form select').change(function(){
var thisDd = $(this);
$('#myValueField').val(thisDd.val());
$('#form select').each(function(i, e){
if(e==thisDd[0]) return; // not disable myself
$(e).attr('disabled', 'disabled'); // disable other
});
});
});
关于javascript - 多个下拉框 - 只想从其中获取数据。如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9780325/