javascript - 如何使用 w2ui 在组合框中获取字符串?
问题描述
我想在框架 w2ui 的组合框中选择或键入文本。当我键入“Enter”键时,我会在组合框中获取值以将该值推送到数组中(请参阅我的代码中的 addItem 函数)。我不知道如何访问组合框中的字符串?
这个组合的文档在这里:http ://w2ui.com/web/docs/1.5/form/fields-list
我对我在这里尝试做的事情做了一个 jsfiddle: https ://jsfiddle.net/espace3d/bLughmy9/
这是一个带有标签的简单待办事项列表。
<!DOCTYPE html>
<html>
<head>
<title>W2UI Demo: fields-3</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<script type="text/javascript" src="https://rawgit.com/vitmalina/w2ui/master/dist/w2ui.min.js"></script>
<link rel="stylesheet" type="text/css" href="https://rawgit.com/vitmalina/w2ui/master/dist/w2ui.min.css" />
</head>
<body>
<div style="height: 10px"></div>
<div class="w2ui-field w2ui-span3">
<label>Combo:</label>
<div> <input type="combo"> <span class="legend">You can type any text</span> </div>
</div>
<div style="height: 20px"></div>
<style>
.w2ui-field input {
width: 200px;
}
.w3ui-field > div > span {
margin-left: 20px;
}
</style>
<script type="text/javascript">
var data={
description:["georges","henry"],
}
var addItem=function(item){
console.log(item)
data.description.push(item)
data.description.sort();
}
$('input[type=combo]').w2field('combo', {
items: data.description,
});
$( 'input[type=combo]' ).keypress(function(event) {
if(event.key == 'Enter'){
console.log( "Handler for .keypress() called." );
/////////////////////////////////////////
//WHAT I WANT TO DO
//addItem(something)
}
});
</script>
</body>
</html>
解决方案
您可以通过调用来访问 w2field 对象$element.w2field()
。
之后,您可以通过调用get()
w2field 对象来访问内容。
旁注:get()
可能返回一个对象,例如,如果您的项目是表单中的对象{ id: 123, text: "my text" }
,这对于 w2ui 组合框或列表字段有效。
在您的情况下,您可以按如下方式更改代码:
$( 'input[type=combo]' ).keypress(function(event) {
if(event.key == 'Enter'){
console.log( "Handler for .keypress() called." );
var w2ui_field = $(this).w2field();
var value = w2ui_field.get();
addItem(value);
w2ui_field.options.items = data.description;
}
});
请注意,如果您想在组合框中显示新项目,则必须将它们重新分配给 w2field 选项。
如果你不想这样,你可以省略这w2ui_field.options.items = data.description;
部分。
推荐阅读
- python - Sklearn 线性回归损失函数与手动代码不匹配
- angular - 角度嵌套`ngFor`使用来自外循环的变量
- python - 类中的函数返回“无”
- python - 多次检查变量
- javascript - 如何刷新页面的 div 以从数据库加载更新的值?
- .net-core - 将使用 .NetCore C# 在 Raspberry pi 上录制的音频保存到 Wav 文件
- javascript - react-select 分离的重置按钮不适用于禁用属性
- r - 如何根据ggplot中的x和y值范围对点进行聚类
- python - 错误:使用 Flask-sqlalchmey 将 json.dumps() 输出保存到 sqlite 时可能不支持的类型
- php - 使用 PHP 在查询中从 MySQL 中的数据库更新 woocommerce 中产品的价格和库存时出现问题