Я столкнулся с несколькими сообщениями, в которых подчеркивается, что идентификатор используется только один раз.Предоставление элемента нескольких имен/id
Однако мне нужно передать 2 php-переменные на мой javascript. Я намеревался использовать document.getElementById
, но поскольку у меня может быть только один ID, это не сработает.
Есть ли другие способы достижения этого?
Мой код:
<a data-toggle="modal" data-id="prodModal" presID="<?php echo $selectPresForJs->valueof('pres_id'); ?>" prodID="<?php echo $prod->prod_id; ?>" data-target="#prodModal" class="image_modal" >
<img class="image-modal" style="width: 192px; height:192px;" src="<?php echo $prod->prod_icon; ?>">
<span ><h2 style='color:#2468A6'><b><?php echo $prod->prod_name ?></b></h2></span>
</a>
Две переменные мне нужно передать являются presID
и prodID
переменные. найденный в элементе <a>
.
EDIT
После предложение я переписал свой код следующим образом:
<a data-toggle="modal" data-id="prodModal" data-presId="<?php echo $selectPresForJs->valueof('pres_id'); ?>" data-prodId="<?php echo $prod->prod_id; ?>" data-target="#prodModal" class="image_modal" >
<img class="image-modal" style="width: 192px; height:192px;" src="<?php echo $prod->prod_icon; ?>">
<span ><h2 style='color:#2468A6'><b><?php echo $prod->prod_name ?></b></h2></span>
</a>
Javascript Я использую выглядит следующим образом:
$(document).ready(function(){
$('#prodModal').click(function() {
var ajaxprodId = $('#prodModal').data('prodId');
var ajaxpresId = $('#prodModal').data('presId');
/*Console Prints the variables as undefined*/
console.log(ajaxprodId);
console.log(ajaxpresId);
$.ajax({
url: "path/to/file/Presentation.php",
type: "POST",
data: {prodId : ajaxprodId,presId:ajaxpresId}
,success: function(data){
console.log("Success was achieved");
document.getElementById("modal_content").innerHTML = "Works";
},
error: function(data){
console.error("The action was unsuccessfull");
alert(data);
}
});
});
});
Это на самом деле очень хорошо принят. Я применил ответ Леопарда и в настоящее время борется с тем, что мой модальный не открывается, поскольку мне пришлось назначать регулярный идентификатор тегу ''. Это решение как лучше объяснено, так и лучше работать. Однако, после применения вашего решения, переменные, кажется, не определены –
@AlbertusBrandVenter, спасибо за ваш обновленный вопрос, я просмотрел ваши дополнения и обнаружил, что вы 'используя 'data-presId' и' data-prodId' в вашем HTML. Хотя это правильно в JavaScript, вы должны использовать 'data-pres-id' (и' data-prod-id' соответственно) в HTML-части вашего кода. Пожалуйста, прочитайте мой ответ еще раз, поскольку я точно указал это соглашение. Кроме того, я с радостью увижу свой ответ как принятый (просто отбросьте текущий и пометьте мой). – Yoda