1

我的网站上有以下下拉菜单

<select name="Templates"  onchange="document.sendform.message.value = 'some text here'; return false;">
<option value="#" selected>----Templates----</option>
<option value="#">Absense</option>
<option value="#">Lates</option>

</select>

这当前将文本发送到名为“消息”的文本区域,但是我希望每个所选选项的文本都不同。有没有一种简单的方法可以做到这一点?

谢谢!

4

2 回答 2

4

这里是:

http://jsfiddle.net/sinisake/3NQH7/

 <form name="sendform">
    <select name="Templates"  onchange="document.sendform.message.value = this.value; return false;">
    <option value="#" selected>----Templates----</option>
    <option value="absense">Absense</option>
    <option value="lates">Lates</option>

        <input type="text" value="" name="message" />
    </select>
    </form>
于 2013-07-01T10:30:56.017 回答
0

事件onchange处理程序是发送文本的;如果要根据所选选项的值发送文本,则应使用更高级的事件处理程序:

document.TemplateForm.Templates.onchange = function () {
    var value = this.value;
    if (value === 'absence') {
        setMessage('Absence message');
    } else if (value === 'laters') {
        setMessage('Laters message');
    } else {
        setMessage('Default message');   
    }
    return false;
};

function setMessage(message) {
    document.sendform.message.value = message;
}

我将您的元素包装select在一个表单中,以便能够在上面的 JavaScript 中简单地处理它:

<form name="TemplateForm">
    <select name="Templates">
        <option value="#" selected>----Templates----</option>
        <option value="absence">Absense</option>
        <option value="laters">Lates</option>
    </select>
</form>

为了查看选择了什么值,我还为options元素添加了唯一值。

现场示例:http: //jsfiddle.net/fRB3s/1/

于 2013-07-01T10:55:10.933 回答