Javascript 访问标记it输入字段

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

我在这里使用tagit:它生成一个输入框来标记项目。我需要访问输入框,但它没有ID。基本上是这样的:

我已经尝试过这样的一切:

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">