如何插入可以将用户输入作为文本的选项

时间:2018-06-02 18:26:49

标签: javascript html forms insert option

这是特别基本的,我是一个初学者,最近得到了一位非常善良和真诚的男人的帮助,让我到了现在的位置。

我想让用户选择选择其中一个选项或插入自己的信息。

到目前为止我得到了什么:

<div class=naviselection>
Start:
<select id='start' onchange="updateNavigationLink()">  
<option value="The International School of The Hague, Wijndaelerduin 1, 2554 BX Den Haag">School</option>
<option value="Centrum, Den Haag">City Center</option>

</select> End:
<select id='end' onchange="updateNavigationLink()">
<option value="The International School of The Hague, Wijndaelerduin 1, 2554 BX Den Haag">School</option>
 <option value="Centrum, Den Haag">City Center</option>

 </select>

 </div>

 <div class=Finallink>
 <span id="navigationLink"></span>

现在,我正在尝试允许用户输入自己的文本(对应于地址)并将其作为选项之一。

我想在单击一个选项后出现文本框但我不知道如何定义该值,我想这将是一些JavaScript的结果......

<option value=undefined>Your Location</option>

那么JavaScript是什么,我如何将选项的值高于我的用户输入的值。

如果有人能提供帮助,我将非常感激,我只是在一周前开始使用javascript,并且知道基础知识,但我正在学习......

2 个答案:

答案 0 :(得分:1)

您似乎正在寻找datalist。请看一下this answer

答案 1 :(得分:1)

您可能希望在启用/禁用选择框后面输入一个输入字段,具体取决于所选选项是否为“您的位置”(应该是最后一个选项):

$("#start").change(function(){ //the following check will be triggered every time the selected option changes
    if ($('#start')[0].selectedIndex==$('#start').length) { //if the selected option is the last one
        $('#custom-address').prop("disabled", false); //enable the text input
    } else {
        $('#custom-address').prop("disabled", true); //otherwise disable it
    }
})

并在您需要的JavaScript中(我假设您使用的是jQuery)

static Dictionary<int, int> results = new Dictionary<int, int>();
public static int SomeAlgo(int n)
{
    int result = 0;

    if (results.TryGetValue(n, out result))
    {
        return result;
    }

    if ((n == 0) || (n == 1))
    {
        return n;
    }

    result = SomeAlgo(n - 1) + SomeAlgo(n - 2);
    results.Add(n, result);
    return result;
}

希望这有帮助