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>