JQuery оценить только последнее слово - PullRequest
0 голосов
/ 14 февраля 2012

Как мне заставить jJvascript / jQuery оценивать последнее введенное слово?

Пример (doe ra fa la si do) оценивать только 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 ]

1 голос
/ 14 февраля 2012

Попробуйте использовать .split() для преобразования строки в массив, а затем используйте .pop() для возврата последнего элемента в массиве:

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

lastWord("some amazing sentence"); // sentence
1 голос
/ 14 февраля 2012
 $(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+' ');     
              });
        }
  }
});
0 голосов
/ 14 февраля 2012

Это должно вернуть последнее слово строки:

var str = 'doe ra fa la si do',
    patt = /[^\s]*$/;
alert(str.match(patt)); // Returns `do`
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...