Ztrácející se parametr funkce handle při ajaxovém .get požadavku
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- jeremy13
- Člen | 18
Pokouším se zprovoznit ajax v komponentě s využítím .get a payload. problém mám ten, že ač mám v komponentě následující funkci:
public function handleSelectUsersByCompanyId($company) {
\Nette\Diagnostics\Debugger::fireLog("company: ".$company);
$users =... //zde se naplni users pomoci fetchPairs dle $company
$presenter->payload->users = $users;
$presenter->sendPayload();
}
Tak parametr $company je NULL, přičemž požadavek vypadá následovně:
…/add?do=form-selectUsersByCompanyId&company=1
v šabloně mám následující:
<script type="text/javascript">
$(function(){
$('#user_company_id').change(function(event) {
$.get({link selectUsersByCompanyId!},{'company': $('#user_company_id').val()}, function(payload){
var list = $('#user_id').text('');
for (var i in payload.users) {
$('<option></option>').attr('value',i).text(payload.users[i]).appendTo(list);
}
});
return false;
});
});
</script>
- Ot@s
- Backer | 476
Zkus použít sprintf pro JQuery (aby celé URL pro signál generovalo nette). Tj. místo řádku:
$.get({link selectUsersByCompanyId!},{'company': $('#user_company_id').val()}, function(payload){
prubni:
val link = {link selectUsersByCompanyId!, '%s'};
$.get($.sprintf(link, $('#user_company_id').val()), function(payload){
- boky
- Člen | 18
jeremy13 napsal(a):
<script type="text/javascript"> $(function(){ $('#user_company_id').change(function(event) { $.get({link selectUsersByCompanyId!},{'company': $('#user_company_id').val()}, function(payload){ var list = $('#user_id').text(''); for (var i in payload.users) { $('<option></option>').attr('value',i).text(payload.users[i]).appendTo(list); } }); return false; }); }); </script>
\--
Zkus to takhle:
<script type="text/javascript">
$.get({link selectUsersByCompanyId!},{"{!$control->getParamId('company')}": $('#user_company_id').val()}, function(payload){
</script>