0

我目前在使用 jQuery API 时遇到问题

文本框列表

我想要的是访问 Json 数组表单中的选定值,现在文档建议使用:

$('#form_tags_input').textboxlist();

但是当我在按钮单击的 jQuery 函数中使用它以使用 [getValues] 方法获取值时,它说未定义。

这是javascript:

<script type="text/javascript">

$(function () {
    // Standard initialization
    var t = new $.TextboxList('#SentTo', { unique: true, plugins: { autocomplete: { minlength: 2, onlyFromValues: true}} });
    //t.addEvent('bitBoxAdd', ContactAdded);
    //t.addEvent('bitBoxRemove', ContactRemoved);
    t.getContainer().addClass('textboxlist-loading');
    $.ajax({
        url: '/Home/GetContacts',
        dataType: 'json',
        success: function (r) {
            t.plugins['autocomplete'].setValues(r);
            t.getContainer().removeClass('textboxlist-loading');
        }
    });

});

function GetValues() {
    var tblist = $('#SentTo').textboxlist();
    alert(tblist.getValues());        
    return false;
}

function ContactAdded(e) {
    //alert(e);
    //GetValues();
    return false;
}

function ContactRemoved(e) {
    //alert(e);
}

我在按钮单击时使用 GetValues() 函数来获取值。

非常感谢您的帮助。

谢谢。

4

1 回答 1

0

尝试使 TextboxLists "t" 变量成为全局变量

修改后的代码是:

$(function () {
    // Standard initialization
    t = new $.TextboxList('#SentTo', { unique: true, plugins: { autocomplete: { minlength: 2, onlyFromValues: true}} });
    //t.addEvent('bitBoxAdd', ContactAdded);
    //t.addEvent('bitBoxRemove', ContactRemoved);
    t.getContainer().addClass('textboxlist-loading');
    $.ajax({
        url: '/Home/GetContacts',
        dataType: 'json',
        success: function (r) {
            t.plugins['autocomplete'].setValues(r);
            t.getContainer().removeClass('textboxlist-loading');
        }
    });

});

function GetValues() {
    alert(t.getValues());        
    return false;

}
于 2012-08-01T11:51:10.133 回答