实际上我有一个数据列表:
<datalist id='modelsList'>
<option value='1'>Dummy1</option>
<option value='2'>Dummy2</option>
</datalist>
这用于输入:
<input type='text' name='dummy' autocomplete='off' list='modelsList' value=''/>
如果我开始键入Dummy2,然后单击下拉列表结果,文本框显示2。我需要找到一种方法,将2作为值,但将Dummy2作为文本。
我不能使用下拉列表(选择标签)
这里,我的解决方案根据您的需要进行检查。。。您可以使用输入事件来实现这样的功能,
HTML
<input type='text' id='dummy' list='modelsList'/>
<datalist id='modelsList'>
<option value='1'>Dummy1</option>
<option value='2'>Dummy2</option>
</datalist>
Jquery
$("#dummy").on('input', function () {
var val = this.value;
if($('#modelsList option').filter(function(){
return this.value === val;
}).length) {
var option = $('#modelsList').find('option[value="' + val + '"]');
$(this).val(option.text());
}
});
同时检查上述代码的DEMO。
HTML5中文本input
的格式如下:
<input type="text" name="name" value="Value" placeholder="Placeholder Text">
当用户键入内容时,value
会发生变化。
您可能会混淆textarea
:
<textarea name="name">Value</textarea>
如果你想放一个textarea
标签,你必须知道value
属性是无效的,但如果你想用它代替input
,并且格式与你放的类似:
<textarea name="name">contentHere</textarea>