jQuery只计算最后一个单词


jQuery evaluate last word only

如何让jJvascript/jQuery计算输入的最后一个单词?

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

与谷歌的搜索框非常相似。我只想在一个空格后进行求值,并通过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 + ' ');
            });
        }
    }
});​
 $(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+' ');     
              });
        }
  }
});

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

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

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

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