jQuery: обновить по классу все теги span и заполнить их значением textarea? - PullRequest
0 голосов
/ 20 февраля 2012

Как я могу обновить все теги, с class = "able", со значением textarea, которое хранится в поле textarea id = "txtholder" class = "txtholder?

В основной функции я пробовал:

$('span.able').text($('#Primary.txtholder').val());           FAIL
$('span.able').text($('#Document.Primary.txtholder').val());  FAIL
$('span.able').text($('#txtholder').val());                   FAIL

Пожалуйста, сообщите.

Спасибо

Так.

<html lang="en">
<head>
<meta charset="UTF-8" />
<title>jQuery Pass textarea value to all class=able SPANs</title>
<link rel="stylesheet" href="themes/base/jquery.ui.all.css">
<script type="text/javascript" src="js/jquery-ui-1.8.16.custom.min.js"></script>
<script src="js/jquery-1.6.2.min.js"></script>
<script src="ui/jquery.ui.core.js"></script>
<script>
$(function() {
$('#button1').click (function () {
$('span.able').text($('#Primary.txtholder').val());    
});
</script>
</head>
<body>
<div>
<Fieldset>
<form name="Primary" method="post" action="" >
<font size="2" color="maroon"><b>TEXTAREA VALUES:</b></font><br>

<textarea id="txtholder" class="txtholder" name="txtholder" rows="8" cols="45">
8012,Ms 8012,8012@something.com; 8013,Mr. 8013,8013@somethingelse.com; 8014,Mr. 8014,8014@somethingelse.com; 
8015,Mrs. 8015,8015@somethinggood.com; 8016,Mrs. 8016,8016@something.com; 8017,Ms 8017,8017@somethingelse.com; 
8018,Ms 8018,8018@something.com; 8019,Mr. 8019,8019@somethingelse.com; 8020,Mr. 8020,8020@somethingelse.com; 
</textarea><br>

<input type="Button" id="button1" Value="LOAD">

</Fieldset>
</form>
</div>

<span id="result1" class="able"> </span>
<span id="result2" class="able"> </span>
<span id="result3" class="able"> </span>

<span id="result4" class="baker"> </span>
<span id="result5" class="baker"> </span>

<span id="result6" class="charlie"> </span>
</body>
</html>

1 Ответ

4 голосов
/ 20 февраля 2012

Ваш последний:

$('span.able').text($('#txtholder').val());

работает ( доказательство ). (Или, если вы не хотите ограничивать интервалы [вы сказали «все теги» в тексте вопроса, что может означать несколько вещей, но «все теги диапазона» в заголовке), просто $('.able').text(...); )

Настоящая проблема в том сценарии, в который вы его вставляете. При правильном отступе становится понятнее, что происходит не так:

<script>
$(function() {
    $('#button1').click (function () {
        $('span.able').text($('#Primary.txtholder').val());    
    });
</script>

Как видите, вы не закрыли первый звонок на $. Поэтому не имеет значения, что вы там указали, потому что синтаксис скрипта неверен. Измените это на:

<script>
$(function() {
    $('#button1').click (function () {
        $('span.able').text($('#txtholder').val());  // <=== Fix
    });
}); // <=== Fix
</script>

Прописка кода в коде действительно может помочь предотвратить подобные ошибки. Также полезно взглянуть на консоль JavaScript в браузере, чтобы найти ошибки, и использовать надлежащий отладчик для наблюдения за выполнением вашего кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...