我正在尝试以最简单的方式实现HTML5 datalist元素.
像这样的东西:
<input list="browsers">
<datalist id="browsers">
<option value="Internet Explorer">
<option value="Firefox">
<option value="Chrome">
<option value="Opera">
<option value="Safari">
</datalist>
Run Code Online (Sandbox Code Playgroud)
但这不起作用.如果不安装(npm)其他东西,我的下一步是什么.
基本上,我正在使用普通输入反应元素并希望嵌入数据列表.
这是我的反应代码:
<input className={"custom_input inline "+this.isValidInteger(this.props.price.price_first,0,2000000)}
style={{marginRight:'5px'}}
value={this.props.price.price_first || ''} type="text"
onChange={(e)=>this.props.dispatch({type:"price", payload:e.target.value})}
placeholder=" Unesite..."
maxLength="10"/>
Run Code Online (Sandbox Code Playgroud)
所以我想要一个下拉列表.
我有一个带有datalist的输入类型文本,其中包含重复的选项值
<input type="text" id="my-input" list="data-list">
<datalist id="data-list">
<option value="John" data-id="1"></option>
<option value="George" data-id="2"></option>
<option value="John" data-id="3"></option>
</datalist>
Run Code Online (Sandbox Code Playgroud)
data-id当我选择选项时,我有什么选择.例如,如果我选择第二个John获取3为id.我刚发现这个:
$("#data-list option[value='" + $('#my-input').val() + "']").attr('data-id');
Run Code Online (Sandbox Code Playgroud)
但是,如果我选择了第二个约翰,它将返回1为id,whitch是不正确的.
jQuery(document.body).on('input', '.icdCodeInput', function (event) {
});
Run Code Online (Sandbox Code Playgroud)
我有一个带有 icdCodeInput 类的 HTML 5 数据列表。当我使用鼠标或按 Enter 从列表中选择一个项目时,上述事件被触发。如果通过按 Enter 键选择了项目,我如何在事件内部进行区分?