我有一个页面的一部分,它展示了一个任务的细节,上面有一个按钮,应该把用户重定向到编辑页面(Izmeni zadatak
):
<div id="buttonwrapperdetalji">
<button type="submit" class="dugmedetalji" name="button" onclick="izvrsiZadatak(); filtriraj();">Poništi zadatak</button>
<form action="izmeni.php">
<button type="submit" class="dugmedetalji" name="button2" onclick="izmeni();">Izmeni zadatak</button>
</form>
</div>
</div>
<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
<script>
function izmeni() {
let zadatak = <?=$podaci->zadatakID?>;
localStorage.setItem("id", zadatak);
return false;
}
</script>
现在,当我打开Edit页面或izmeni.php
时,我想自动将select标记的值设置为与localStorage.setItem
一起转发的id
:
<div class="containerwrapper">
<form method="post" action="" enctype="multipart/form-data" class="container_izmena">
<div id = "levo">
<h4>Zadatak</h4>
<select id="zadatak" name="zadatak" onchange="prikazi(this.value); popuniDetalje();"required></select>
</div>
[...]
</form>
<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
<script>
function popuniZadatke() {
$.ajax({
url: '../funkcije/popuniZadatke.php',
success: function (data) {
$("#zadatak").html(data);
}
});
}
popuniZadatke();
function izaberi() {
$("#zadatak").val(localStorage.getItem("id")).change();
}
izaberi();
</script>
下面是popuniZadatke.php
代码:
<?php
require "../konekcija/konekcija.php";
require "../modeli/zadatak.php";
$zadaci = Zadatak::vratiZadatkeZaOpcije($konekcija);
?>
<option value="" disabled selected hidden><?= "Zadaci" ?> </option>
<?php
foreach ($zadaci as $zad) {
?>
<option value="<?= $zad->zadatakID ?>"><?= $zad->naziv ?> </option>
<?php
}
?>
函数izaberi()
应该将其设置为转发的值,但这似乎不起作用。有什么问题吗?
1条答案
按热度按时间8xiog9wr1#
izaberi
在 AJAX 调用的success函数发生之前执行,因此它对#zadatak
所做的更改会被$("#zadatak").html(data)
覆盖。我建议你从success函数内部调用izaberi: