Javascript 访问标记it输入字段
我在这里使用tagit:它生成一个输入框来标记项目。我需要访问输入框,但它没有ID。基本上是这样的:Javascript 访问标记it输入字段,javascript,jquery,jquery-ui,Javascript,Jquery,Jquery Ui,我在这里使用tagit:它生成一个输入框来标记项目。我需要访问输入框,但它没有ID。基本上是这样的: 我已经尝试过这样的一切: alert($('.ui小部件内容ui自动完成输入脏ui角落所有输入[type=text]).val() 但仍然无法访问它 我试图在用户键入值并传递给web服务以执行自动完成时获取该值: $.ajax({ type: "POST", contentType: "applic
我已经尝试过这样的一切:
alert($('.ui小部件内容ui自动完成输入脏ui角落所有输入[type=text]).val()代码>
但仍然无法访问它
我试图在用户键入值并传递给web服务以执行自动完成时获取该值:
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "/Code/WebServices/Tags.asmx/GetTags",
dataType: "json",
data: '{"entityId":"' + entityId + '","search":"' + NEED_VALUE_HERE + '"}',
success: function(data) {
response($.map(data.d, function(item) {
return {
label: item.TagName,
value: item.TagName
}
}));
}
});
看看我在哪里需要值,我需要标签输入框的值…这个怎么样
alert(document.getElementsByClassName("ui-widget-content")[0].value);
或者,由于我不知道附加到该元素的类名,请逐个尝试:)
分析所述组件后编辑
<!-- I believe this is the part we need -->
<ul class="tagit ui-widget ui-widget-content ui-corner-all">
<li class="tagit-choice ui-widget-content ui-state-default ui-corner-all tagit-choice-editable"><span class="tagit-label">fancy</span><a class="tagit-close"><span class="text-icon">×</span><span class="ui-icon ui-icon-close"></span></a></li>
<!-- lots of li elements here-- >
<!-- the last one -->
<li class="tagit-new">
<!-- here's the input element we need -->
<input type="text" class="ui-widget-content ui-autocomplete-input" autocomplete="off" role="textbox" aria-autocomplete="list" aria-haspopup="true">
</li>
</ul>
虽然已经添加了标签,但您可以这样访问
var target = document.getElementsByClassName('tagit')[0].getElementsByTagName('SPAN')[0].innerHTML;
这段代码取自我的一个项目:
$("#UL-OF-TAGIT").tagit({
singleField: true,
allowSpaces: true,
removeConfirmation: true,
singleFieldNode: $("#FIELD-TAG-IT"),
tagSource: function( request, response ) {
$.ajax({
url: "YOUR-URL",
data: { term:request.term },
dataType: "json",
success: function( data ) {
response( $.map( data, function( item ) {
return {
label: item.label,
value: item.value
}
}));
}
});
}
});
这是我的自动完成标签
要获取用户正在编写的内容,请使用请求.term
。从文档中:
一个请求对象,具有一个术语属性,它引用
当前在文本输入中的值。例如,如果用户输入
“new yo”在城市字段中,自动完成术语将等于“new yo”
要在点击按钮时获取输入的标签,请参考此
JS代码:
$(function(){
$('#myTags').tagit();
$('#submit').click(function(){
var tags = $("#myTags").tagit("assignedTags");
alert("tags = "+tags);
});
});
HTML:
然后可以将变量标记的值传递给ajax函数。有关更多选项,请参阅插件文档。lol,删除通话中的空格alert($('.ui-widget-content.ui-autocomplete-input.dirty.ui-corner-all-input[type=text]')。val()
lol,并且您只需要一个类名,所以您可以只使用$('.dirty')
他正在使用jQuery,意思是A。)它将捕获很多元素
和B。)他可以很容易地使用$('.ui小部件内容')
$("#UL-OF-TAGIT").tagit({
singleField: true,
allowSpaces: true,
removeConfirmation: true,
singleFieldNode: $("#FIELD-TAG-IT"),
tagSource: function( request, response ) {
$.ajax({
url: "YOUR-URL",
data: { term:request.term },
dataType: "json",
success: function( data ) {
response( $.map( data, function( item ) {
return {
label: item.label,
value: item.value
}
}));
}
});
}
});
$(function(){
$('#myTags').tagit();
$('#submit').click(function(){
var tags = $("#myTags").tagit("assignedTags");
alert("tags = "+tags);
});
});
<ul id="myTags"></ul>
<input type="button" value="Submit" id="submit">