3
這是選擇:選擇不插入Ajax調用(引導Selectpicker)後,用HTML()選項後,工作
<select class="selectpicker" id="item-fornecedores-1" multiple data-placeholder="Selecione os fornecedores para este item"></select>
這是數據,我插入:
<optgroup label="São José do Rio Preto"><option>TORQUEMIX </option></optgroup><optgroup label="Sorocaba"><option>A.M.DIB INDUSTRIA E COMERCIO</option></optgroup><optgroup label="Salto de Pirapora"><option>CONTA DE TESTE DE ÓRGãO PúBLICO</option></optgroup>
哪個由產生:
$response = "";
foreach ($filtro as $key => $value) {
$nomeCidade = getResults("SELECT nome FROM tbl_cidades WHERE id = '".$key."'")[0]["nome"];
if (strpos($response, $nomeCidade) === false) {
$response .= '<optgroup label="'.$nomeCidade.'">';
}
for ($i = 0; $i < count($value); $i++) {
$nomeFornecedor = getResults("SELECT nome_fantasia FROM tbl_fornecedors WHERE id = '".$value[$i]."'")[0]["nome_fantasia"];
$response .= '<option>'.$nomeFornecedor.'</option>';
}
$response .= '</optgroup>';
}
這裏的地方選擇被更新成功:
$.ajax({
url: hostGlobal+"site/estrutura/ajax.php",
type: "POST",
dataType: "TEXT",
data: {
action: "filtrarFornecedores",
prefeitura_id: <?=$_SESSION["id"]?>,
tipo_negocio: 1,
segmentos: $("#pedido-segmento").val(),
estados: $("#pedido-fornecedor-estado").val(),
index: (i+1).toString()
},
success:function(result, textStatus, jqXHR) {
console.log(JSON.parse(result)[1]);
$("#item-fornecedores-" + JSON.parse(result)[0]).html(JSON.parse(result)[1]);
$("#item-fornecedores-" + JSON.parse(result)[0]).show();
},
error: function(jqXHR, textStatus, errorThrown) {
// console.log(errorThrown);
}
});
select元素被更新,但是這是發生了什麼:
如果我不使用顯示()之後,我看根本沒有數據(而HTML是完全有效,因爲當我直接在HTML文檔上使用它時,這個結果是有效的)。我正在使用bootstrap-select。爲什麼我不能更新/「加載」那些「實時」的選項而不用擰緊整個元素?
編輯:
我剛剛意識到它完美的作品時,我請從選擇標籤上的「多」。不過,我真的需要使用多個。