2013-12-11 2 views
1

Возможно, это ответили в другом месте, но я не мог найти вопрос, который соответствует моим обстоятельствам.Передайте переменную PHP из цикла через onclick

У меня есть страница сайта, в которой помещаются записи DIVs из базы данных, это тот же DIV, что и в цикле. В этом DIV у меня есть кнопка, которая отображает модальную рамку. Однако этот модальный DIV не закодирован в зацикленном DIV.

Мне нужен модальный ящик, чтобы иметь возможность получить идентификатор записи для данных, которые отображается в цикле DIV.

Кнопка:

<a href = "javascript:void(0)"onclick = "document.getElementById('light2').style.display='block';document.getElementById('fade').style.display='block'"> 
           <div class= "obutton feature2">Reserve Book</div> 
           </a> 

Я предполагаю, что я должен буду использовать Java Script или иначе, но я не знаю, как использовать его таким образом.

Идеально использовать какую-то форму $ _POST было бы проще всего с помощью кнопки формы, имеющей установленное значение $ row-> ID, но я не могу создать кнопку формы и я могу?

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

Все оцененная помощь -Tom

+0

У вас есть два оператора JavaScript внутри вашей OnClick = ""; Является ли это целесообразным или было бы лучше передать функцию по причинам, отличным от читаемости? – Scott

+0

Я буду честным и скажу, что не уверен в полной логике, поскольку я следовал онлайновому руководству, чтобы создать кнопку и модальную коробку. Однако я знаю, что у меня есть части, которые нуждаются в полировке кода, но мне нужна основная функциональность, работающая прямо сейчас. Но я буду смотреть на 2 заявления JS, когда смогу :) Если это не вызывает проблемы с тем, что я хочу сделать. – Vereonix

ответ

3

Я думаю, что ключ к вашему ответу является понимание того, как JS (и JQuery) использует этот. Когда вызывается функция, вызывающая сторона почти всегда передается как этой переменной. Например:

<button data-id="1234" onclick="runThisFunction()" value="run" /> 
<script> 
function runThisFunction() { 
    //Do Stuff 
    var data_id = this.data('id'); 
}; 
</script> 

В приведенном выше коде, этот содержит кнопку, которая была нажата на. Вы можете получить много информации от этой переменной. В jQuery вы даже можете добраться до братьев и сестер, родителей или детей в DOM.

Вот пример решения Вашего вопроса:

http://jsfiddle.net/yr6ds/1/

Вот более элегантное решение:

http://jsfiddle.net/yr6ds/2/

+0

Это прекрасное решение, это мой первый раз с использованием jquery, поэтому я не совсем понимаю его, но он выглядит достаточно просто, чтобы понять. Также исчезновение в модуле «n out modal» - замечательная идея :) – Vereonix

+0

На самом деле один вопрос, div, который кнопка для создания модального окна будет повторяться через цикл, а информация, которую я хочу показать в модальном, - это петля. Могу ли я иметь модальный прямоугольник echo $ row-> BookID, и он покажет bookID книги, показанной в его родительском div? или это будет bookID последнего в цикле? – Vereonix

+0

Я думаю, вы хотите оставить пустую коробку модальных. Затем, когда кнопка нажата, используйте jQuery для ввода информации в нее и ее отображения. – Mechame

Смежные вопросы