jQuery只评估最后一个单词

时间:2012-02-14 05:23:12

标签: php jquery ajax autocomplete

我如何让jJvascript / jQuery评估输入的最后一个单词?

示例(doe ra fa la si do)仅评估做

与Google的搜索框非常相似。我只想在空格后进行评估,并通过Ajax调用搜索该单词。

这是我尝试过的代码:

$(document).ready(function() {

    ajaxcall();
    var x = setInterval(ajaxcall, 1000);

    function ajaxcall() {
        var nameid = $('#word').val();
        if (nameid.match(/^\s*$/)) {
            // nothing, or nothing but whitespace
        } else {
            $.get('mysqlquery.php?id=' + nameid, function(data) {
                $('#loadbox').append(data + ' ');
            });
        }
    }
});​

3 个答案:

答案 0 :(得分:1)

 $(document).ready(function(){

    ajaxcall();
    var x = setInterval(ajaxcall,1000);

function ajaxcall(){
    var nameid = $('#word').val().split(' ');
    nameid = nameid[nameid.length-1];
        if (nameid.match(/^\s*$/)) {
        // nothing, or nothing but whitespace
    } else {
        $.get('mysqlquery.php?id='+nameid, function(data){
        $('#loadbox').append(data+' ');     
              });
        }
  }
});

答案 1 :(得分:1)

尝试使用.split()将字符串转换为数组,然后使用.pop()返回数组中的最后一个元素:

function lastWord(subject)
{
    var ar = subject.split(" ");
    return ar.pop();
}

lastWord("some amazing sentence"); // sentence

答案 2 :(得分:0)

这应该返回字符串的最后一个单词:

var str = 'doe ra fa la si do',
    patt = /[^\s]*$/;
alert(str.match(patt)); // Returns `do`