2014-01-23 3 views
0

Хорошо, мой первоначальный вопрос был не совсем ясным, поэтому я постараюсь объяснить его лучшим образом.Изменить ввод диапазона

Я делаю usercript для запуска на определенной странице (которая уже существует, и html не может быть изменен мной напрямую, только с помощью JS/Jquery). Я получаю информацию с этой страницы и помещаю ее в переменную (с которой у меня уже работает).

Эта информация отличается для каждой страницы, но каждая страница имеет один и тот же код HTML/JS, только цифры меняются. Поэтому я хочу изменить название каждой страницы (значения диапазона, которые используются для описания информации) автоматически, без нажатия каких-либо кнопок, просто загружая страницу. Итак, все это (http://grab.by/tLB6), просто загрузив страницу.

Josh Harrison уже отправил ответ, содержащий функцию. Я верю, что так должно быть сделано (с помощью функции), поэтому она запускает эту функцию каждый раз, когда загружается страница, заменяя значение span моим переменным и сохраняя его (сохранение = нажатие ok).

Я извиняюсь за долгое объяснение ...

 var inputName = $("#editInput").val(); 
     var NewName = "My new text"; 
     $("#labelText").text(NewName); 

Эта скрипка: http://jsfiddle.net/6X8fu/6/ делает то же самое, что я хочу (но на другой странице), но она написана на понятном JS. Я поставил комментарий перед частью, которую я имею в виду. В этом скрипте он что-то подсказывает, а затем переименовывает его в запрошенное. В моем случае я получаю информацию со страницы, помещаю ее в переменную, а затем хочу переименовать ее в этот файл variabeles.

ответ

0

Я нашел решение, это JS, хотя.

var NewName = "Some text" 
var editspan = document.getElementById('edit'); 
var editinput = editspan.getElementsByTagName('input'); 
editinput[0].value = (NewName); 
editinput[1].click(); 

Спасибо за все ваши ответы :)

1

Если это span вы хотите обновить, сделать это:

var NewName = "My new text"; 
$("#labelText").text(NewName); 

Если это input, сделайте следующее:

var NewName = "My new text"; 
$("#editInput").val(NewName); 

$ element.val() для получения значения элементы формы. $ element.val ("value") предназначен для установки значения элементов формы. $ element.text() работает одинаково для получения и настройки, но для элементов DOM, не подлежащих редактированию.

См http://api.jquery.com/text/ и http://api.jquery.com/val/

EDIT 2:

Так что вы хотите обновить span с значением input на странице загрузки. В качестве дополнительного бонуса это будет продолжать обновлять его при вводе.

Рабочий пример: http://jsfiddle.net/6X8fu/8/

Код:

$(document).ready(function() { 

    var $label = $("#labelText"), 
     $input = $("#editInput"); 

    function updateText() { 
     $label.text($input.val()); 
    } 

    // just call the function without binding it to any events. 
    // This block executes inside $(document).ready() so will run as soon as the elements are ready. 
    updateText(); 
    $input.on("keyup", updateText); // also bind to keyup event. 

}); 
+0

Проверили ли вы его? Это не работает в этой скрипке: http://jsfiddle.net/6X8fu/1/ – RononDex

+0

См. Вопрос: * Я хочу изменить значение ** span *** –

+1

Хорошо, вопрос и скрипка были неясны. Обновлено, чтобы охватить обе интерпретации! –

Смежные вопросы