javascript - 如何在菜单外部添加单击按钮以打开新的文本字段,而不是单击 "other"?

标签 javascript jquery html input drop-down-menu

我不知道如何使用下拉菜单外部的单击按钮(可能是加号)而不是单击“其他”,以便用户可以输入另一个值?谢谢!!

这是 html:

<form onsubmit="FormSubmit(this);">
<label for="last_name">Brand:</label>
<input type="hidden" name="brand" />
<select name="fruit_ddl" onchange="DropDownChanged(this);">
<option value="">--select--</option>
<option value="brand1">Brand1</option>
<option value="brand2">Brand2 </option>
<option value="brand3">Brand3</option>
<option value="">Other..</option>

</select> <input type="text" name="brand_txt" style="display: none;" />
<button type="submit">Add Brand</button>
</form>

JavaScript:

function DropDownChanged(oDDL) {
    var oTextbox = oDDL.form.elements["brand_txt"];
    if (oTextbox) {
        oTextbox.style.display = (oDDL.value == "") ? "" : "none";
        if (oDDL.value == "")
            oTextbox.focus();
    }
}

function FormSubmit(oForm) {
    var oHidden = oForm.elements["brand"];
    var oDDL = oForm.elements["brand_ddl"];
    var oTextbox = oForm.elements["brand_txt"];

    if (oHidden && oDDL && oTextbox)
        oHidden.value = (oDDL.value == "") ? oTextbox.value : oDDL.value;
}

最佳答案

this fiddle做你想要的吗? 我保留了“其他”选项,加号按钮只是选择它。 (我必须更改“其他”值,因为它与空值相同。)

我基本上用这个 onclick 处理程序添加了一个加号按钮:

function PlusClick(btn) {
    var ddl = btn.form.elements["fruit_ddl"];
    ddl.value = "-";    
    DropDownChanged(ddl);
}

编辑:这是another fiddle ,删除了“其他”选项。

关于javascript - 如何在菜单外部添加单击按钮以打开新的文本字段,而不是单击 "other"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21890429/

相关文章:

html - 网页计数器

html - 我的弹出窗口上的方向箭头

javascript - Jquery toggleClass 切换的类,但不会多次运行动画

javascript - 消除文本选取框中的间隙

html - textarea调整宽度但不调整高度,为什么?

javascript - 为什么 JQuery .empty() 不起作用?

javascript - 从查询字符串中获取 url 并将其加载到 div 中

javascript - 如何从 Material UI 获取 TextField 的输入值?

c# - 面临 ShowModalDialog 问题

javascript - Bootstrap 警报显示一次后不会隐藏