Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

jQuery

Войти
Регистрация
Восстановить пароль
 
henry007
0 / 0 / 0
Регистрация: 21.05.2013
Сообщений: 4
#1

Обработчик событий - jQuery

17.06.2013, 12:28. Просмотров 571. Ответов 2
Метки нет (Все метки)

Есть простая форма а точнее даже таблица в 3 колонки в центральной колонке есть textarea чуть ниже есть чекбокс который дает возможность создать tr с 3 колонками если отмечен и с 2 если не отмечен, и кнопка для отправки через ajax всего этого дела, работаю с live проблема в том, что чекбоксы которые загружаются через ajax абсолютно не меняют значения, что они отмечены что нет, получаю undefined если самый первый, созданный заранее checkbox отмечен и соответственно checked если отмечен.
Код:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?   
    if ($_POST['check']=="undefined") {
        $a =    "<tr><td style='border: 1px solid black;'></td>".
                "<td style='border: 1px solid black;'><textarea class='inputtextarea' name='form_textarea_86'></textarea>".
                "<a id='addst8' href='#' >"."+"."</a></td>".
                "</tr>";
        echo json_encode(array('a' => $a));
    }
    else{
        $a =    "<tr><td style='border: 1px solid black;'></td>".
                "<td style='border: 1px solid black;'><textarea class='inputtextarea' name='form_textarea_86'></textarea>".
                "<a id='addst8' href='#' >"."+"."</a></td>".
                "<td style='border: 1px solid black;'></td></tr>";
        echo json_encode(array('a' => $a));
    }
    
?>
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<script>  
        $(document).ready(function(){
            $('#addst8').live("click",function(){  
                $.ajax({  
                    type: "POST",  
                    url: "array.php",
                    dataType: "json",
                    data: "check="+$("#check").attr("checked"),
                    success: function(data){
                        alert($("#check").attr("checked"));
                        $("#st8 tr:last-child").after(data.a);
                    }  
                });  
                return false;  
            });
              
        });  
</script>
И сам шаблон таблички
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
<table width="100%" border="0" style="border-collapse: collapse;" id="st8"> 
  <tbody> 
    <tr><td align="center" style="border: 1px solid black;"> 
        <h4 align="center"><b>№ статьи</b></h4>
       </td><td align="center" style="border: 1px solid black;"> 
        <h4><b>Наименование статьи</b></h4>
       </td><td style="border: 1px solid black;"> 
        <h4 align="left"><b>Документ</b></h4>
       </td></tr>
   
    <tr><td style="border: 1px solid black;"><b>Ст. 8</b></td><td style="border-image: none;" colspan="2"> 
        <br />
       <b>В рамках общей информации об управляющей организации раскрытию подлежат следующие сведения:</b></td></tr>
   
    <tr><td valign="top" style="border: 1px solid black;"></td>         <td valign="top" style="border: 1px solid black;"><?=$FORM->ShowInput('st8')?><a id="addst8" href="#" >+</a> 
        <br />
       Отдельное поле для файла ?<input type="checkbox" id="check" /></td>   <td valign="top" style="border: 1px solid black;" colspan="1" id="row"></td></tr>
   </tbody>
 </table>
<br />
 <?=$FORM->ShowSubmitButton("Сохранить","Сохранить")?> <?=$FORM->ShowApplyButton("","")?>
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.06.2013, 12:28
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Обработчик событий (jQuery):

Обработчик событий мыши - jQuery
Доброе утро, форумчане! На сайте есть боковое меню, которое реагирует на скролинг, т.е. при прокрутке вниз скрывается, при возврате...

Как убрать обработчик событий - jQuery
Здравствуйте. Мне нужен свой обработчик события click для кнопок jcarousel. Эти кнопки являются div.jcarousel-next и div.jcarousel-prev....

Установить обработчик событий перед уже имеющимся - jQuery
Здравствуйте! У меня на странице есть некоторый элемент при клике на него вызывается функция f1. Мне нужно установить обработчик так...

Обработчик нажатия на обработчик наведения - jQuery
Всем привет! В приложении файл с кодом для хитрого выпадающего меню. Подскажите как мне сделать, чтобы это меню открывалось при наведении...

Обработчик событий - JavaScript
Что я делаю не так? &lt;input type=&quot;button&quot; id=&quot;button&quot; value=&quot;Кнопка&quot; /&gt; &lt;script&gt; button.onclick = function () { ...

Обработчик событий - JavaScript
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;&gt; &lt;html...

2
Soldado
729 / 720 / 4
Регистрация: 28.06.2012
Сообщений: 1,318
Записей в блоге: 4
17.06.2013, 15:15 #2
Неправильно использовать один и тот же id несколько раз - id='addst8'. Заменяйте на класс и элементы ищите относительно кликнутого элемента.
Пора отказываться от метода live как устаревшего (начиная с jQuery 1.9 - не поддерживается). Используйте on делегированно для привязки событий к новым элементам. Правильно будет таблице задать свой id, например, "#table" тогда
Javascript
1
$('#table').on("click",".faddst8", function(){
Для динамических (изменяемых) атрибутов лучше использовать не attr, а pop
Лучше отказаться от undefined. Проверяйте отмеченность так
Javascript
1
2
3
4
5
if ($("#check").is(":checked")) {
var attrV=1;
else{
var attrV=0;
}
и в ajax передавайте переменную attrV
Javascript
1
data: "check="+attrV,
}
В PHP соответственно проверяйте 0 или 1

да и зачем два раза писать
PHP
1
echo json_encode(array('a' => $a));
ведь в любом случае массив отправляете, вынесите его из условий
0
Donald28
странник
807 / 478 / 43
Регистрация: 28.05.2012
Сообщений: 1,514
Записей в блоге: 2
17.06.2013, 15:23 #3
потому что сначала jQuery события привязываются к элементам, которые уже созданы на странице. На динамически добавленные элементы эти события уже на распространяются. Т.е. их надо объявлять заново.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.06.2013, 15:23
Привет! Вот еще темы с ответами:

Обработчик событий - JavaScript
Здравствуйте! У меня имеется форма с тремя полями: Фрукты, Овощи и Итого. Необходимо, чтобы при изменении значений полей Фрукты и...

Обработчик событий - JavaScript
Нужно написать скрипт, который будет выводить какие действия были сделаны, либо был выполнин клик, либо нажатие клавиши как на фото .

Не запускается обработчик событий - JavaScript
Доброго времени суток. У меня проблемка с обработкой событий нажатия на &quot;клавиши&quot;... Вот сам html: &lt;html&gt; &lt;head&gt; &lt;title&gt;&lt;/title&gt;...

Обработчик событий переменной - JavaScript
Создаю в документе несколько картинок кодом: var mimg=new Array(28) ... mimg=document.createElement('img'); ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru