улучшение готового кода JQUERY с помощью другого параметра. Сделано правильно? ОБНОВЛЕНО - PullRequest
0 голосов
/ 05 декабря 2010

Имея этот фрагмент кода, который, как вы знаете (уже если вы читали предыдущие посты) или видите, теперь получает идентификатор по ссылке и отправляет его в скрипт php sql, который затем загружается из div. Хорошо.

Теперь, поскольку выясняется, что я использую этот сценарий для нескольких таблиц, и я добавил, что он также должен перейти на другую страницу, я добавляю то, что считаю правильным, наблюдая за тем, что я узнал из первого примера, я добавить еще один параметр в фрагмент и ссылку. Итак, я публикую первый фрагмент, а затем то, что добавил сам, просмотрев документацию о функции get JQUERY.

ЭТО ПЕРВАЯ ОТКРЫТАЯ

<script type="text/javascript"> 
$(document).ready(function(){
$('a.flip').live('click',function(){
    $(".panel").slideToggle("slow");
 $('#reviews').load('SendIdToDatabase.php', {id_cruise: this.id});
  });
});

</script>

и, как я уже сказал, я хочу добавить другой параметр (а именно имя таблицы) и отправить его в другой скрипт так:

    <script type="text/javascript"> 
    $(document).ready(function(){
    $('a.flip').live('click',function(){
        $(".panel").slideToggle("slow");
     $('#reviews').load('SendIdToDatabase.php', {id_cruise: this.id, table_name:this.table});
     $('Submitform.php').load('Submitform.php', {id_cruise: this.id, table_name:this.table});

      });
    });
 </script>

Обратите внимание, во втором фрагменте, что значение для submitform «добавляется» на целую страницу (в отличие от случая #reviews, где он специально помещается в якорь), поэтому я не знаю, так ли это вы пишете, когда отправляете на страницу.

И ЭТО ОРИГИНАЛЬНАЯ ЛИНИЯ СВЯЗИ

$sOutput .= '"<a href=\"#\"' .' id=\"' .addslashes($aRow['id_ship']) .'\" class=\"flip\">'.addslashes($aRow['name_ship']).'</a>",'; 

И ЭТО КАК ЭТО БУДЕТ, ЕСЛИ Я ХОЧУ ДОБАВИТЬ ЭТОТ ПАРАМЕТР ДЛЯ НОВОГО SNIPPET

$sOutput .= '"<a href=\"#\"' .' id=\"' .addslashes($aRow['id_ship']) .'\" . table=\"ships\" . class=\"flip\">'.addslashes($aRow['name_ta']).'</a>",'; 

То, что я добавил, это таблица = корабли, я думаю, что я сделал это правильно с точками и кавычками

Итак, это все в принципе. Я хотел, чтобы помимо передаваемого идентификатора передавалось и имя таблицы, в данном случае, ship

UPDATE

У меня есть альтернативный код, который позволяет моему слабому интеллекту понять его.

$sOutput .= '"<a href=\"#\"' .' id=\"' .addslashes($aRow['id']) .'\" class=\"flip\" rel=\"'.$tablename.'\">'.addslashes($aRow['event_name_cont']).'</a>",';

Это выглядит хорошо для меня в том смысле, что для каждой страницы я могу назначить в любом месте страницы этот атрибут, выделенный жирным шрифтом, и отослать его при нажатии. Как это звучит для вас? Правильно?

И затем для получения и пересылки этого значения это подойдет?

$('#reviews').load('SendIdToDatabase.php', {idx: this.id, attr("rel") });

ОБНОВЛЕНИЕ ОБНОВЛЕНИЯ

Хорошо, понял. Это код, который работает

$('#reviews').load('SendIdToDatabase.php', {idx: this.id, tabla: $(this).attr("rel")});

Итак, что я узнал здесь (извините за мой нелепый начальный уровень), так это то, что не все параметры равны, когда речь идет о том, как их получить или поместить по ссылке. Как сказал мой помощник, имеет ли значение элемент DOM, атрибут или что-то еще.

Ответы [ 2 ]

0 голосов
/ 06 декабря 2010

хорошо, мой вопрос размещен в обновлениях, которые я написал. В основном этот код добился цели для ССЫЛКИ

$sOutput .= '"<a href=\"#\"' .' id=\"' .addslashes($aRow['id']) .'\" class=\"flip\" rel=\"'.$tablename.'\">'.addslashes($aRow['event_name_cont']).'</a>",';

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

$('#reviews').load('SendIdToDatabase.php', {idx: this.id, tabla: $(this).attr("rel")});

Я всегда очень ценю любую помощь и советы, спасибо всем, кто их опубликовал.

С наилучшими пожеланиями

Alvaro

0 голосов
/ 05 декабря 2010

Да, что-то не так, table это не свойство DOM, это добавленный вами атрибут, так что:

$('#reviews').load('SendIdToDatabase.php', 
  {id_cruise: this.id, table_name: this.table});

Должно быть:

$('#reviews').load('SendIdToDatabase.php', 
  {id_cruise: this.id, table_name: $(this).attr("table")});

Но ... поскольку в любом случае это недопустимый атрибут, я бы использовал атрибут data-, который, по крайней мере, будет действительным в HTML5 +, что означает data-table="ships" вместо table="ships" в вашей привязке, тогда вы можете сделать это в jQuery 1.4.3 +

$('#reviews').load('SendIdToDatabase.php', 
  {id_cruise: this.id, table_name: $(this).data("table")});

.... или это в более старых версиях jQuery (также в jQuery 1.4.3 +):

$('#reviews').load('SendIdToDatabase.php', 
  {id_cruise: this.id, table_name: $(this).attr("data-table")});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...