如何在下拉菜单中选择自动从DB中选择结果<select>?

时间:2015-04-24 14:38:12

标签: javascript jquery html ajax cakephp

我有这个HTML: if(isset($ listaGrupo)){ $ html =&#39;&lt; select name =&#34; subgrupox []&#34;类=&#34; subgrupo&#34;&GT;&#39 ;; $ html。=&#39;&lt;选项=&#34;已选择&#34;值=&#34;&#34;&GT; Selecione&LT; /选项&GT;&#39 ;; foreach($ listaGrupo as $ value){     $ html。=&#39;&lt; option value =&#34;&#39; 。 $ value [&#39; ProcuraProdutoPedOnline&#39;] [&#39; cd_familia&#39;]。 &#39; - &#39; 。 $ value [&#39; ProcuraProdutoPedOnline&#39;] [&#39; cd_depto&#39;]。 &#39; - &#39; 。 $ value [&#39; ProcuraProdutoPedOnline&#39;] [&#39; cd_grupo&#39;]。 &#39; - &#39; 。 $ value [&#39; ProcuraProdutoPedOnline&#39;] [&#39; cd_grupo_sub&#39;]。 &#39; *&#39; 。 strtoupper(utf8_encode($ value [&#39; ProcuraProdutoPedOnline&#39;] [&#39; ds_grupo&#39;]。&#39; - &#39;。$ value [&#39; ProcuraProdutoPedOnline&#39;] [ &#39; ds_grupo_sub&#39;]。&#39; - &#39;。$ value [&#39; ProcuraProdutoPedOnline&#39;] [&#39; ds_depto&#39;]))。 &#39;&#34;&GT;&#39; 。 strtoupper(utf8_encode($ value [&#39; ProcuraProdutoPedOnline&#39;] [&#39; ds_grupo&#39;]。&#39; /&#39;。$ value [&#39; ProcuraProdutoPedOnline&#39;] [ &#39; ds_grupo_sub&#39;]。&#39; /&#39;。$ value [&#39; ProcuraProdutoPedOnline&#39;] [&#39; ds_depto&#39;]))。 &#39;&LT; /选项&GT;&#39 ;; }    $ html。=&#39;&lt; / select&gt;&#39 ;; }   echo $ html; 我想要的是:当结果来自DB时,下拉列表中的值应该是自动选择的。 我的Ajax: function preencherGrupo(obj){         $就({             键入:&#34; POST&#34;,             url:&#39; url&#39;,             数据:{                 产品:obj             },             dataType:&#34; html&#34;,             成功:函数(数据){                 $(&#34; .subgrupo&#34)的html(数据)。             }         });     } 编辑1:   自动填充两个下拉菜单,其中包含相同的信息。 编辑:@Diogo Cunha看图像:

1 个答案:

答案 0 :(得分:2)

你有两个选择。

选项1:

当你执行这段代码时

foreach ($listaGrupo as $value) {
$html .= '<option value="' . $value['ProcuraProdutoPedOnline']['cd_familia'] . '-' . $value['ProcuraProdutoPedOnline']['cd_depto'] . '-' . $value['ProcuraProdutoPedOnline']['cd_grupo'] . '-' . $value['ProcuraProdutoPedOnline']['cd_grupo_sub'] . '*' . strtoupper(utf8_encode($value['ProcuraProdutoPedOnline']['ds_grupo'] . '-' . $value['ProcuraProdutoPedOnline']['ds_grupo_sub'] . '-' . $value['ProcuraProdutoPedOnline']['ds_depto'])) . '">' . strtoupper(utf8_encode($value['ProcuraProdutoPedOnline']['ds_grupo'] . '/' . $value['ProcuraProdutoPedOnline']['ds_grupo_sub'] . '/' . $value['ProcuraProdutoPedOnline']['ds_depto'])) . '</option>';

}

您可以将所选值添加到所需的值(或最后一个)

示例:

foreach ($listaGrupo as $value) {
         if($value == whatYouWant) {
            $html .= '<option selected value="' . $value['ProcuraProdutoPedOnline']['cd_familia'] . '-' . $value['ProcuraProdutoPedOnline']['cd_depto'] . '-' . $value['ProcuraProdutoPedOnline']['cd_grupo'] . '-' . $value['ProcuraProdutoPedOnline']['cd_grupo_sub'] . '*' . strtoupper(utf8_encode($value['ProcuraProdutoPedOnline']['ds_grupo'] . '-' . $value['ProcuraProdutoPedOnline']['ds_grupo_sub'] . '-' . $value['ProcuraProdutoPedOnline']['ds_depto'])) . '">' . strtoupper(utf8_encode($value['ProcuraProdutoPedOnline']['ds_grupo'] . '/' . $value['ProcuraProdutoPedOnline']['ds_grupo_sub'] . '/' . $value['ProcuraProdutoPedOnline']['ds_depto'])) . '</option>';
            continue;
         }

         $html .= '<option value="' . $value['ProcuraProdutoPedOnline']['cd_familia'] . '-' . $value['ProcuraProdutoPedOnline']['cd_depto'] . '-' . $value['ProcuraProdutoPedOnline']['cd_grupo'] . '-' . $value['ProcuraProdutoPedOnline']['cd_grupo_sub'] . '*' . strtoupper(utf8_encode($value['ProcuraProdutoPedOnline']['ds_grupo'] . '-' . $value['ProcuraProdutoPedOnline']['ds_grupo_sub'] . '-' . $value['ProcuraProdutoPedOnline']['ds_depto'])) . '">' . strtoupper(utf8_encode($value['ProcuraProdutoPedOnline']['ds_grupo'] . '/' . $value['ProcuraProdutoPedOnline']['ds_grupo_sub'] . '/' . $value['ProcuraProdutoPedOnline']['ds_depto'])) . '</option>';

}

选项2:

您可以在文档准备中调用jQuery prop

中选择所需的选项

修改 我现在得到了你想要的东西,你不应该使用css作为选择器,这是一种不好的做法,如果你想在不同的选择之间进行一些隔离,请使用数据属性,如数据名称等等后来在js中称之为

$("[data-name='whatYouWantToChange']").JsCall