我想用框架w2ui在组合框中选择或键入文本。当我键入"Enter“键时,我将获得组合框中的值以将该值推入数组(请参阅我的代码中的addItem函数)。我不知道如何访问组合框中的字符串?
这个组合的文档在这里:http://w2ui.com/web/docs/1.5/form/fields-list
关于我在这里要做的事情,我做了一个简单的解释: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>发布于 2019-01-02 16:00:55
您可以通过调用$element.w2field()来访问w2field对象。
之后,您可以通过在w2field对象上调用get()来访问内容。
附注: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;部分。
更新的fiddle:https://jsfiddle.net/k548j0w1/
发布于 2021-07-26 17:24:54
我和你有同样的问题。
为了解决我的问题,我获得了列表的JSON对象项,并在COMBOBOX中获得了它的id或文本,如下所示。
$('#yourlistid').w2field().get().id
$('#yourlistid').w2field().get().texthttps://stackoverflow.com/questions/53942698
复制相似问题