Снова сижу с реализацией бутстрапа для моего проекта.
Я реализую загрузочную разбивку (таблицу данных) и бутстрап inline edit (xeditable).
Оба файла успешно интегрированы
Файл заголовка выглядит следующим образом:
<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css"> <link rel="stylesheet" type="text/css" href="css/DT_bootstrap.css"> <link href="css/bootstrap-editable.css" rel="stylesheet"/> <script type="text/javascript" language="javascript" src="js/jquery-1.11.0.min.js"></script> <script type="text/javascript" language="javascript" src="js/jquery_002.js"></script> <script type="text/javascript" language="javascript" src="js/DT_bootstrap.js"></script> <script src="js/bootstrap.min.js"></script> <script src="js/bootstrap-editable.min.js"></script> <script type="text/javascript"> $(document).ready(function() { $('.editable_class').editable({ type: 'select', url: 'process.php', title: 'Enter Value', validate: function(value) { if($.trim(value) == '') { return 'This field is required'; } } }); }); </script>
Тег тела выглядит так:
<a data-original-title="Select a number" data-source="{'0': '0','1': '1', '2': '2', '3': '3', '4': '4', '5': '5', '6': '6', '7': '7', '8': '8', '9': '9', '10': '10'}" data-value="<?php echo $get_my_value; ?>" data-pk="<?php echo $row['book_code']."_".$book_id[$i]['id']; ?>" data-name="book_value" data-type="select" id="book_value" href="#" class="editable_class"><?php echo $get_my_value; ?></a>
Проблема в том, что: 1. Я могу редактировать первую страницу без проблем. Когда я нажимаю на разбиение на страницы (т.е. вторая страница), редактирование не работает. Другими словами, редактирование прекрасно работает на первой странице и не работает на следующих следующих страницах (их более 10 страниц)
Когда я проверяю с помощью firebug, тег привязки первой страницы выглядит так
<a class="editable_class editable editable-click" href="#" id="book_value" data-type="select" data-name="book_value" data-pk="1" data-value="5" data-source="{'0': '0','1': '1', '2': '2', '3': '3', '4': '4', '5': '5', '6': '6', '7': '7', '8': '8', '9': '9', '10': '10'}" data-original-title="Enter Value">5</a>
Тег привязки второй страницы выглядит следующим образом:
<a class="editable_class" href="#" id="book_value" data-type="select" data-name="book_value" data-pk="1" data-value="5" data-source="{'0': '0','1': '1', '2': '2', '3': '3', '4': '4', '5': '5', '6': '6', '7': '7', '8': '8', '9': '9', '10': '10'}" data-original-title="Enter Value">5</a>
Если вы сравниваете два тега привязки, то ясно, что на первой странице имя класса « editable_class editable editable-click », а вторая страница – это имя класса « editable_class »,
Поэтому я также могу определить проблему, теперь – как ее исправить?
Любая помощь будет очень полезной
Спасибо, Кимц
Я думаю, вы должны повторно инициализировать editable
снова после разбивки на страницы. Потому что ваш второй тег привязки создается динамически. Поэтому используйте это снова после появления второй страницы с использованием разбивки на страницы
$('.editable_class').editable({ type: 'select', url: 'process.php', title: 'Enter Value', validate: function(value) { if($.trim(value) == '') { return 'This field is required'; } } });
Я исправил проблему. Проблема в том, что у меня есть файл jqery pagination в отдельной папке (js / DT_bootstrap.js). Мне просто нужно добавить скрипт ниже в файл DT_bootstrap.js внутри документа.
$('.editable_class').editable({ type: 'select', url: 'process.php', title: 'Enter Value', validate: function(value) { if($.trim(value) == '') { return 'This field is required'; } } });
Почему я обеспокоен тем, что я ломаю голову в этом на два дня и исправил это сейчас. Может быть – моя плохая память, которая заняла 2 дня. Чтобы закончить этот вопрос с ответом, просто нам нужно обновить файл jQuery pagination с помощью редактируемого встроенного скрипта, поскольку файл pagination (js) не знает о встроенном редактировании. Спасибо, Кимц