我有一个下拉列表,并且在onclick on any<时会尝试分配特定值。选项>我目前有以下代码,但它不起作用。不确定我错过了什么。
Jquery代码:
{literal}
<script>
$(function() {
var values = {
"pop": 110,
"spop": 995,
"imap": 113,
"simap": 993,
"default": 000
};
window.connection_type = function(val) {
var port = values[val] || values["default"];
$('input[name="port_no"]').val(port);
}
});
</script>
{/literal}
下拉列表。
<select class="selmenu selmenu-200" name="type" onChange="connection_type(this.value)">
<option value="pop">POP</option>
<option value="spop">Secure POP</option>
<option value="imap">IMAP</option>
<option value="simap">Secure IMAP</option>
</select>
<input type="text" name="port_no" value="" />
谁能告诉我这里缺少什么?
答案 0 :(得分:2)
试试这个:
<强> JS 强>
window.connection_type = function(val)
{
var newValue="";
switch(val) {
case "pop":
newValue = 110;
break;
case "spop":
newValue = 995;
break;
//rest cases you probably want
}
$('input[name="port_no"]').val(newValue);
}
html js解决方案,如果要在选项元素中放置自定义属性:
<强> HTML 强>
<select class="selmenu selmenu-200" name="type" onChange="connection_type(this)">
<option value="pop" specVal="110">POP</option>
<option value="spop" specVal="995">Secure POP</option>
<option value="imap">IMAP</option>
<option value="simap">Secure IMAP</option>
</select>
<input type="text" name="port_no" value="" id="txtPort" />
<强> JS 强>
window.connection_type = function(val)
{
$("#txtPort").val($(val).find("option:selected").attr("specVal"));
}
答案 1 :(得分:0)
我是默认运算符||
的忠实粉丝。您可以创建一个包含所有可能性的对象:
var values = {
"pop": 110,
"spop": 995,
"imap": 113,
"simap": 993,
"default": 000
};
并根据默认情况下从dom输入的内容进行检查:
var port = values[val] || values["default"];
$('input[name="port_no"]').val(port);