【问题标题】:Semantic UI - How to get data of active Input Element?语义 UI - 如何获取活动输入元素的数据?
【发布时间】:2017-06-23 10:55:37
【问题描述】:

如何将输入字段的值获取到 urlData 对象?

<input id="username">

而JS是:

$('#username').api({
   action: 'check username',
    urlData: {username: $(this).val()},
    onSuccess: function(response){
        console.log(response)
    },
    onError: function(error){
        console.log(error)
    }
});`

使用普通的JQuery,我可以使用$(this).val(); 获得它。但在这种情况下,它是空的。它如何与语义 UI 配合使用?

【问题讨论】:

    标签: javascript jquery json html semantic-ui


    【解决方案1】:

    对于那些不知道为什么请求没有立即运行的人(输入“abc”然后请求只是“ab”),这里是解决方案!


    (我将使用上面的示例) 你可以添加

    on:'现在'

    明确地让语义化 api 执行“现在”请求,因为 keyup(或任何事件)处理其余部分。

    $( "#username" ).keyup(function() {
    var value=$(this).val();
    $('#username').api({
       action: 'check username',
       on:'now',
        urlData: {username: value},
        onSuccess: function(response){
            console.log(response)
        },
        onError: function(error){
            console.log(error)
        }
    });
    });
    

    我决定回答这个很老的问题,可能有人需要它!

    【讨论】:

    • 这个工作到目前为止,但是:如果我有几个元素,比如id='element_1'id='element_2',并使用像'[id^=element_]'这样的通配符选择器,它会为每个使用通配符的元素触发。让我们在这里讨论一下:stackoverflow.com/questions/49508257/…
    【解决方案2】:

    你可以这样试试

     $( "#username" ).keyup(function() {
        var value=$(this).val();
        $('#username').api({
           action: 'check username',
            urlData: {username: value},
            onSuccess: function(response){
                console.log(response)
            },
            onError: function(error){
                console.log(error)
            }
        });
     });
    

    【讨论】:

    • 这不能正常工作..当我输入“123456”时,我只有“12345”的值。最后一个不见了。它没有发送正确的输入值。
    • 好的,在这种情况下可以这样使用 $('#username').bind("change keyup input",function() { });
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-11-26
    • 2012-01-31
    • 2015-06-20
    • 2020-07-21
    • 1970-01-01
    • 2022-01-03
    • 1970-01-01
    相关资源
    最近更新 更多