Comunidad de diseño web y desarrollo en internet online

actualizar un treeview apartir de un dropdown list php mvc. Codeingite

Citar            
MensajeEscrito el 06 Mar 2015 04:10 pm
Hola a todos del foro, muy buen dia tengan todos....
estoy batallando o no se como hacerle para despues de seleccionar un dato de un dropdown, se carge o actualize un treeview checkbox...

este es mi dropdown
<?php echo form_dropdown('proyectos', $proyectos, 0, 'id="proyectos"') ?>
//nota este si me cargaa perfectamente

este es mi treeview, el cual si me carga perfectamente al principio, lo que quiero es que cuando cambie el valor del dropdown se actualize mi treeview...
por si les interesa la consulta
//SELECT tareas.IdTarea, NTarea, IdAct, NAct, actividades.IdTarea
//FROM actividades,tareas
//WHERE actividades.IdTarea=tareas.IdTarea and tareas.IdProyecto = (SELECT `IdProyecto` FROM proyectos WHERE `IdProyecto` = 1)
puse 1 ya que al principio el valor del dropdown es 1
<div id="tabs-1" class="tree">
<script class="jquery" lang="text/javascript">
$('#tree1').checkboxTree();
</script>
<ul id="tree1"class="tree1">
<?php
//print_r($TarAct);
$productos[]="";
foreach ($TarAct as $keyT => $valueT)
{
echo "<li name='tareas[]'>";
if (in_array($TarAct[$keyT][0], $productos))
{
}
else
{
$productos[] = $TarAct[$keyT][0];
echo "<input type='checkbox' id='tareas' name='tareas[]' value=" . $TarAct[$keyT][0] . "><label>" . $TarAct[$keyT][1] . "</label><br>";
echo "<ul>";
foreach ($TarAct as $keya => $valuea)
{
if ($TarAct[$keyT][0] == $TarAct[$keya][4])
{
echo "<li name='actividades[]'>";
echo "<input type='checkbox' id='actividades' name='actividades[]' value=" . $TarAct[$keya][2] . "><label>" . $TarAct[$keya][3] . "</label><br>";
echo "</li>";
}
}
echo "</ul>";
}
}
?>
</li>
</ul>
</div>


esta es mi funcion
$(document).ready(function() {
$("#proyectos").change(function() {
TreeTA();
});
});
function TreeTA() {
id = $("#proyectos").val();
$.getJSON("<?= base_url(); ?>clientepta/TreeTA", {id: id}, function(data) {
alert (data);
$("#tareas").html(data);
});
}

en mi controlador el metodo que se llama desde json es
public function TreeTA()
{
$id_proyecto = $this->input->get('id', TRUE);
$rsta = $this->empresa_model->getTareasActividades($id_proyecto);
$output = null;
foreach ($rsta as $value)
{
$output .= "<input type='checkbox' value='" . $value->IdTarea . "'>" . $value->NTarea . "</input>";
//$output2 .= "<input type='checkbox' value='" . $value->IdTarea . "'>" . $value->NTarea . "</input>";
}
echo json_encode ($output);
}
//sinceramente no se como imprimir el treeview

Por rubio93

2 de clabLevel



 

firefox
Citar            
MensajeEscrito el 09 Mar 2015 05:03 pm
What?? en primera. json_encode() sirve para imrpimir un JSOn que puede ser obtenido por AJAX.

Entonces quitale la parte de input no se que y solo regresa el encode asi:

json_encode($rsta)

Cuando tengas ese dato que te manda, pegalo aqui ;) para decirte como armar el "treview" o lo que quieras, pero primero necesitamos el JSON.

Por elporfirio

Claber

652 de clabLevel

1 tutorial

Genero:Masculino  

FullStack Web Developer

chrome
Citar            
MensajeEscrito el 09 Mar 2015 07:56 pm
Hola elprofirio... ooo creia que json_encode era para enviar arreglos o cualquier otro dato...
bueno ya imprimi mi $rsta con json_encode.. y en la vista con un alert(data)..
y me manda esto
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]...
espero esta haciendo lo correcto..

Por rubio93

2 de clabLevel



 

firefox
Citar            
MensajeEscrito el 09 Mar 2015 09:00 pm
Hola miraa intente con estoo
function TreeTA() {
id = $("#proyectos").val();
$.getJSON("<?= base_url(); ?>clientepta/TreeTA", {id: id}, function(data) {
var dataJson = eval(data);
for(var i in dataJson){
alert(dataJson[i].IdTarea + " _ " + dataJson[i].NTarea);
}
});
}
ya me imprime uno por uno... ahora de aqui como le hago para empezar a crear el treeview

Por rubio93

2 de clabLevel



 

firefox
Citar            
MensajeEscrito el 11 Mar 2015 04:01 am

elporfirio escribió:

What?? en primera. json_encode() sirve para imrpimir un JSOn que puede ser obtenido por AJAX.

Entonces quitale la parte de input no se que y solo regresa el encode asi:

json_encode($rsta)

Cuando tengas ese dato que te manda, pegalo aqui ;) para decirte como armar el "treview" o lo que quieras, pero primero necesitamos el JSON.


Hola miraa intente con estoo
function TreeTA() {
id = $("#proyectos").val();
$.getJSON("<?= base_url(); ?>clientepta/TreeTA", {id: id}, function(data) {
var dataJson = eval(data);
for(var i in dataJson){
alert(dataJson[i].IdTarea + " _ " + dataJson[i].NTarea);
}
});
}
ya me imprime uno por uno... ahora de aqui como le hago para empezar a crear el treeview

Por rubio93

2 de clabLevel



 

firefox
Citar            
MensajeEscrito el 11 Mar 2015 07:02 pm
Me empiezas asustar,, llegar al ciclo FOR debio ser el final para entender el funcionamiento del JSON.

te acuerdas de esto en tu PHP ?:

Código Javascript :

$output .= "<input type='checkbox' value='" . $value->IdTarea . "'>" . $value->NTarea . "</input>";


Ahora intenta hacerlo como

Código Javascript :

var estehtml+= "<input type='checkbox' value='" + dataJson[i].IdTarea + "'>" + dataJson[i].NTarea + "</input>";


despues simplemente lo agregas a un elemento..

Código Javascript :

$("#divID").html(estehtml);


Necesitas, ver que es lo que estas haciendo, formularte los problemas por separado, con el tiempo iras aprendiendo, así que mucha dedicación, mi consejo :) trata de investigar que hace el código que ete comparten.

Por elporfirio

Claber

652 de clabLevel

1 tutorial

Genero:Masculino  

FullStack Web Developer

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.