我正在开发一个遵循基本MVC模式的小型Web应用程序。目前我将数据从数据库中提取到一个数组中,并将该值反映到一个文本框中(暂时)
<input type="text" name="txtGasConRes" id="gasConRes" value="<?php echo $typical; ?>" disabled/>
正在从我的Model类中检索$typical
值到我的Controller类中,然后回显到gas的文本框中。我有一个非常相似的电力文本框。
我的下拉菜单如下:
<select name="heatingType" id="heatingType" required>
<option value="" disabled selected>Select Your Option</option>
<option value = "Gas">Gas</option>
<option value = "Electricity">Electricity</option>
<option value = "Other">Other</option>
</select>
我想知道是否有办法确定回显$typical
值的位置。因此,例如,如果用户选择Gas作为其加热类型,则在提交表单后,该值将显示在Gas文本框中。如果用户从下拉列表中选择电力,则该值将回显到电力文本框中。
任何信息将不胜感激。 谢谢!
答案 0 :(得分:0)
如果您愿意,这绝对是JavaScript或jQuery的工作。您需要设置处理程序以检测选择输入上的更改事件。用户选择一个值后,您就可以根据用户选择的内容更新文本字段。
未经测试,但这样的事情应该有效。
var select = document.getElementById('heatingType');
function updateTextField(selectedValue) {
switch(selectedValue){
case 'Gas':
return 'some text that you want in the text field';
break;
// etc.
}
}
select.addEventListener('change', function(){
var selectedValue = this.value,
textField = document.getElementById('gasConRes');
textField.value = updateTextField(selectedValue);
});
答案 1 :(得分:0)
创建javascript函数并将函数放在onchange事件的选择框中。(以下代码正常工作)
<script>
function heatingType(obj){
alert(obj.options[obj.selectedIndex].value); //if you want to show in alart
//or put in a variable
$x=obj.options[obj.selectedIndex].value;
}
</script>
<select name="heatingType" id="heatingType" onChange="heatingType(this)" required>
<option value="" disabled selected>Select Your Option</option>
<option value = "Gas">Gas</option>
<option value = "Electricity">Electricity</option>
<option value = "Other">Other</option>
</select>