municipios<\/em>‘ definidos da seguinte forma:<\/p>\n...\r\n<input type=text size=4 id=nomeUF onchange='javascript:mostrarMunicipios()'>\r\n<img src='lupa.png' onclick='javascript:mostrarMunicipios()'>\r\n<select id=selMunicipios><\/select>\r\n...<\/pre>\nPosso ter uma fun\u00e7\u00e3o javascript que chame um servi\u00e7o YeAPF para preencher a tabela da seguinte forma:<\/p>\n
function mostrarMunicipios() {\r\n var nomeUF = document.getElementById('nomeUF').value;\r\n ycomm.invoke(\r\n 'municipios',\r\n 'pegarLista',\r\n {\r\n uf: nomeUF;\r\n },\r\n function (status, error, data) {\r\n ycomm.dom.fillElement('selMunicipios', data);<\/strong>\r\n }\r\n );\r\n}<\/pre>\nPara os desavisados de plant\u00e3o: pegamos o nome da UF digitado pelo usu\u00e1rio e realizamos uma consulta com ele devolvendo o resultado sobre selMunicipios.<\/p>\n
J\u00e1 o servi\u00e7o YeAPF (assumindo uma pasta de desenvolvimento j\u00e1 configurada) ficaria assim:<\/p>\n
function qmuncipios($a)\r\n{\r\n $useColNames = true;\r\n\u00a0 $countLimit=20;\r\n\u00a0 $ret='';\r\n\r\n extract(xq_extractValuesFromQuery());\r\n\r\n if ($a=='pegarLista')\r\n $ret=\"select id, uf, nomeMunicipio \r\n from municipios \r\n where uf like '$uf%' \r\n order by uf, nomeMunicipio\";\r\n\r\n xq_produceReturnLines($ret, $useColNames, $countLimit);\r\n}<\/pre>\nIsso feito, cada vez que o usu\u00e1rio modificar o campo uf<\/em> no navegador, os municipios ser\u00e3o carregados no select.<\/p>\n","protected":false},"excerpt":{"rendered":"Uma das atividades corriqueiras na programa\u00e7\u00e3o web e mobile \u00e9 o preenchimento de lista de op\u00e7\u00f5es e tabelas para o usu\u00e1rio poder escolher um item baseado numa pesquisa anterior. A partir da vers\u00e3o 0.8.25 YeAPF disponibiliza o ycomm-dom.js que estende as capacidades do ycomm ao poder aplicar o resultado de uma pesquisa realizada com invoke […]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false},"categories":[],"tags":[],"jetpack_featured_media_url":"","jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p5O6UV-j","jetpack-related-posts":[{"id":91,"url":"http:\/\/www.yeapf.com\/wp\/?p=91","url_meta":{"origin":19,"position":0},"title":"Aplicativos mono p\u00e1gina","date":"mar\u00e7o 14, 2014","format":false,"excerpt":"Aplicativos que usam s\u00f3 uma p\u00e1gina t\u00eam um lugar assegurado no desenvolvimento de software atual e futuro. Bem feitos s\u00e3o elegantes e f\u00e1ceis de manter. Tamb\u00e9m s\u00e3o uma m\u00e3o na roda na hora de fazer um aplicativo que funcione tanto em desktop como em mobile. Para construirmos um aplicativo com\u2026","rel":"","context":"Em "Desenvolvimento"","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":370,"url":"http:\/\/www.yeapf.com\/wp\/?p=370","url_meta":{"origin":19,"position":1},"title":"Reagindo a mudan\u00e7as de abas","date":"novembro 29, 2017","format":false,"excerpt":"As abas s\u00e3o o dispositivo que o YeAPF entrega para um desenvolvedor poder construir aplicativo \"mono-p\u00e1gina\" como os usados em aplicativos Web de \u00faltima gera\u00e7\u00e3o ou em dispositivos m\u00f3veis. S\u00e3o elas as que nos permitem uma mudan\u00e7a r\u00e1pida na tela sem que por isso seja necess\u00e1rio carrega-las do servidor j\u00e1\u2026","rel":"","context":"Em "Desenvolvimento"","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":5,"url":"http:\/\/www.yeapf.com\/wp\/?p=5","url_meta":{"origin":19,"position":2},"title":"Migrando bancos de dados com ydbmigrate","date":"janeiro 10, 2014","format":false,"excerpt":"Desenvolver um aplicativo implica em ter um bom banco de dados, mas responder rapidamente a uma migra\u00e7\u00e3o estrutural \u00e9 mais um pesadelo do que uma noite bem dormida. Dentre as ferramentas que o YeAPF disp\u00f5e se encontra o ydbmigrate. Esta ferramenta nos permite exportar e importar dados de varias fontes\u2026","rel":"","context":"Em \"firebird\"","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":184,"url":"http:\/\/www.yeapf.com\/wp\/?p=184","url_meta":{"origin":19,"position":3},"title":"Exemplo - web01 - OnePage YeAPF Web Application","date":"dezembro 26, 2014","format":false,"excerpt":"Esta \u00e9 uma das continua\u00e7\u00f5es deste artigo. Por que criar aplicativos mono p\u00e1gina? Bom, a grande virtude de um aplicativo mono p\u00e1gina \u00e9 que tudo o que voc\u00ea precisar est\u00e1 pronto assim que o usu\u00e1rio carregou a p\u00e1gina inicial e caso sejam necess\u00e1rias mais p\u00e1ginas, formul\u00e1rios, tabelas elas tamb\u00e9m podem\u2026","rel":"","context":"Em "Desenvolvimento"","img":{"alt_text":"","src":"https:\/\/i2.wp.com\/www.yeapf.com\/wp\/wp-content\/uploads\/2019\/05\/office-932926_1920.jpg?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":373,"url":"http:\/\/www.yeapf.com\/wp\/?p=373","url_meta":{"origin":19,"position":4},"title":"O uso do db_queryAndFillArray() em requisi\u00e7\u00f5es Ajax e RESTFul","date":"mar\u00e7o 3, 2018","format":false,"excerpt":"Em YeAPF a forma mais simples de responder a uma requisi\u00e7\u00e3o em que o resultado vem de apenas uma consulta SQL (simples ou combinada) \u00e9 a seguinte: function qTeste($a) { \u00a0 global $u, $xq_start; $useColNames = true; $xq_count=999; $ret=''; \/\/ publish query variables as local variables extract(xq_extractValuesFromQuery()); $xq_start=isset($xq_start)?intval($xq_start):0; switch($a) {\u2026","rel":"","context":"Em "Yet Another PHP Framework"","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":328,"url":"http:\/\/www.yeapf.com\/wp\/?p=328","url_meta":{"origin":19,"position":5},"title":"Criando um aplicativo YeAPF usando a linha de comandos","date":"janeiro 31, 2017","format":false,"excerpt":"Um aplicativo YeAPF pode ser criado de forma simples copiando manualmente o conteudo do esqueleto apropriado dentro da pasta do seu aplicativo. Por\u00e9m, devemos reconhecer que \u00e9 um processo muito artesanal. YeAPF pode ser instalado como um conjunto de ferramentas desde a vers\u00e3o 0.7.x e entre as ferramentas h\u00e1 uma\u2026","rel":"","context":"Em "Desenvolvimento"","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"http:\/\/www.yeapf.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/19"}],"collection":[{"href":"http:\/\/www.yeapf.com\/wp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.yeapf.com\/wp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.yeapf.com\/wp\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/www.yeapf.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=19"}],"version-history":[{"count":3,"href":"http:\/\/www.yeapf.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/19\/revisions"}],"predecessor-version":[{"id":24,"href":"http:\/\/www.yeapf.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/19\/revisions\/24"}],"wp:attachment":[{"href":"http:\/\/www.yeapf.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=19"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.yeapf.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=19"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.yeapf.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=19"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}