2012-02-11 3 views
1

У меня есть вход как:Загрузите новое значение во вход с PHP с помощью jQuery?

'<input type="text" name="display-count" class="display-count" value="23" autocomplete="off" readonly="readonly" />'; 

И я использую этот код JQuery, чтобы удалить значение, которое он имеет, и заменить его другим:

var count = $('form.user-count-form').find('.display-count'); 
$(count).val(''); 
$(count).load("admin/user-count.php"); 

Но новое значение это ISN» t загружен. Я пробовал некоторые другие способы, как:

$(count).val().load("admin/user-count.php"); 

или

$(count).val(load("admin/user-count.php")); 

Но не работать. Как мне сделать то, что я хочу?

ответ

2

Вы должны использовать JQuery получить метод здесь. Вы неправильно вызываете скрипт с вашего сервера, и поэтому никакой вызов не запускается и данные не возвращаются. Я предполагаю, что значение, которое вы получаете, представляет собой одну строку текста или цифр.

вопрос немного расплывчатый, поэтому я не уверен, почему у вас есть начальное значение, установленное в 23, и я также не уверен, когда вы хотите изменить значение, поэтому я собираюсь показать вам, как это сделать при условии, что дом готов с использованием метода $ (document) .ready.

$(document).ready(function(){ 
    $.get('admin/user-count.php', function(data){ 
      $('.display-count').val(data); 
     }); 
}); 
+0

Ваша методология является правильным, хотя OP не «неправильно» вызов сценария с его сервера. Метод .load(), как я понимаю, более или менее идентичен методу .get(), за исключением того, что он имеет подразумеваемый обратный вызов, который добавляет ответ во внутренний HTML элемента, который был вызван .load() на. Таким образом, сценарий, вероятно, был восстановлен, но никогда не добавляется к атрибуту значения элемента ввода. Если бы этот код был применен к div, он, вероятно, сработал бы (в той мере, в какой ответ был бы сделан в DOM). –

+1

Да прошу прощения. Вы правы, если бы он был применен к div, который бы сработал с тех пор, как .load добавит все, что html вернулся при загрузке скрипта. Я должен был уточнить, что если он хочет получить данные из сценария и заменить текущее значение ввода, ему придется использовать методы $ .get или $ .getJSON. – iAmClownShoe

0

почему не ваш просто попробовать этот

$('input.display-count').load("admin/user-count.php); 

или попробовать этот OnLoad ваш HTML документ

$.get('admin/user-count.php', function(response){ 
     $('input.display-count').val(response); 
    }); 
0

зависит от того, что ваш скрипт возвращает

вы можете сделать это так, к примеру:

$.ajax({ 
    url: 'admin/user-count.php', 
    success: function(data) { 
    $(count).val(data); 
    } 
}); 

В дополнение вы можете вернуть вам пользовательский счет в формате JSON, с помощью PHP-функции json_encode()

0

.load() вернет содержимое Html для сопоставленного элемента, он не установит никакого значения. Лучше вы можете использовать $ .get или $ .post или $ .ajax

$.get('admin/user-count.php', function(resultdata){ 
    $('input.display-count').val(resultdata); 
}); 

или

$.ajax({ 
    url: 'admin/user-count.php', 
    success: function(resultdata) { 
     $(count).val(resultdata); 
    } 
}); 
Смежные вопросы