{$t-6ren">
gpt4 book ai didi

javascript - Nette - 片段更新

转载 作者:行者123 更新时间:2023-12-03 01:10:45 25 4
gpt4 key购买 nike

我在更新代码片段时遇到问题。更改选择框中的选择后,我在另一个选择框中重新绘制选项内容,但代码片段未更新。

拿铁:

<form class="df-checkout">
...

<select n:href="getHraci!" name="domaci" id="domaci" class="form-control">
<option value="">Vybrat</option>
<option n:foreach="$tymy as $tym" value="{$tym->getId()}">
{$tym->getNazev()}
</option>
</select>

...

<div class="row helpers hidden">
<select n:snippet="hraciDomaci" class="form-goly-domaci-select form-control">
<option></option>
<option n:foreach="$hraciDomaci as $hrac" value="{$hrac->getId()}">
{$hrac->getPrijmeni()} {$hrac->getJmeno()}
</option>
</select>

<input type="text" class="form-goly-input form-control">
</div>

JS文件:

$(document).ready(function(){
$("#domaci").bind('change', function() {
var link = $(this).attr("href");

$.nette.ajax ({
url: link,
data: {"strana": "domaci", "tymId": $(this).val()},
type: 'get',
dataType:'json'
});
});
});

Controller :

public function handleGetHraci($strana, $tymId)
{
$tym = $this->tymManager->getTymRepository()->find($tymId);
$muzstvo = $this->tymManager->getMuzstvoRepository()->findBy(["nazev" => self::HLAVNI_TYM]);
$hraci = $this->hracManager->getHracRepository()
->findBy(["tym" => $tym, "muzstvo" => $muzstvo], ["prijmeni" => "ASC", "jmeno" => "ASC"]);

if($this->isAjax()){
$this->template->hraciDomaci = $hraci;

$this->redrawControl('hraciDomaci');
}
}

表单尚未创建和处理,因此我所做的第一个选择框是临时的,带有代码片段的选择框独立于表单。我用它来复印。JS 正确调用处理程序,如果我在 redrawControl 之前转储 $this->template->hraciDomaci 数据就在那里,但 redrawControl 不会做任何事情。但包含该过程的新行将添加到页面下部 Tracy 栏中。我的调试器中没有错误,该进程的状态为 200,但响应仅包含:

{"state":[],"snippets":{"snippet--hraciDomaci":"\t\t\t\t\t\t\t\t\t\t<option></option>\n"}}

我尝试使用 $.get 而不是 $.nette.ajax,将 包裹在 snippetArea 中,然后我通常将此代码放在 {block content} 中,因此不需要 snippetAreanette.ajax.js 带有初始化 $.nette.init(); 我也有。

非常感谢您的建议。

最佳答案

检查您是否没有在演示器的 render* 方法(例如 renderDefault)中重写 hraciDomaci 变量

关于javascript - Nette - 片段更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52218327/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com