Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Не меняет данные внутри таблицы (https://javascript.ru/forum/jquery/43573-ne-menyaet-dannye-vnutri-tablicy.html)

Dockdep 11.12.2013 21:54

Не меняет данные внутри таблицы
 
Есть такая простенькая таблица:
<table  cellpadding="5" cellspacing="2" >
                          <tr >
                          <form id="111">
            <td>&emsp;<input class="mean" type="text"  maxlength="3" size="1"  name="var14" value="3242" /></td>
            </tr></form>
            </table>
Пытаюсь выполнить следующий скрипт:
$('#111 .mean').val(data);

И ничего не меняет. Но если форму вытащить из таблицы все как нужно. В чем проблема?)

рони 11.12.2013 22:32

Dockdep,
запомните простое правило -- либо таблица в форме -- либо форма в ячейке и не делайте венигрет из тегов.
вот как выглядит форма после того как браузер попытался исправить ваши ошибки
<table cellspacing="2" cellpadding="5">
                          <tbody><tr>
                          <form id="111"></form>
            <td>&emsp;<input type="text" value="3242" name="var14" size="1" maxlength="3" class="mean"></td>
            </tr>
            </tbody></table>

рони 11.12.2013 22:36

Dockdep,
<table cellpadding="5" cellspacing="2">
    <tr>
      <td>
        <form id="111" name="111">
          <input class="mean" type="text" maxlength="3" size="1" name="var14" value="3242">
        </form>
      </td>
    </tr>
  </table>

или так
<form id="111" name="111">
    <table cellpadding="5" cellspacing="2">
      <tr>
        <td><input class="mean" type="text" maxlength="3" size="1" name="var14" value="3242"></td>
      </tr>
    </table>
  </form>

Dockdep 11.12.2013 22:50

Да, но в дальнейшем таблица будет выглядеть вот так:
<table  cellpadding="5" cellspacing="2" >
         <tr >
             <form id="111">
                 <td>&emsp;<input class="mean" type="text"  maxlength="3" size="1"  name="var14" value="3242" /></td>
                <td>&emsp;<input  type="text"  maxlength="3" size="1"  name="var14" value="3242" /></td>
            </form>
     </tr>
      <tr >
             <form id="112">
                <td>&emsp;<input class="mean" type="text"  maxlength="3" size="1"  name="var14" value="3242" /></td>
                <td>&emsp;<input type="text"  maxlength="3" size="1"  name="var14" value="3242" /></td>
            </form>
     </tr>
     и так далее.
</table>

Потому что у инпутов будет событие onchenge которое отправляет эту форму.

Dockdep 11.12.2013 22:53

Но ваш вариант работает, спасибо.

BETEPAH 13.12.2013 19:19

Цитата:

Сообщение от Dockdep
Да, но в дальнейшем таблица будет выглядеть вот так:

Так она будет выглядеть только в вашем редакторе кода. А в браузере она будет выглядеть по-другому.


Часовой пояс GMT +3, время: 11:43.