gpt4 book ai didi

php - 用mysql填充的多动态组合框

转载 作者:行者123 更新时间:2023-12-02 19:12:11 24 4
gpt4 key购买 nike

数据库

$mySql = "SELECT field FROM fields";
$result = mysql_query($mySql);

HTML:

<select id="combo1" class="combo" data-index="1">
<option></option>
<?php
while($r = mysql_fetch_array($result))
{
echo "<option value=" .$r['field '] . ">".$r['field '] ."</option>";
}
?>
</select>
<div id="combos"></div>

jQuery

<script type="text/javascript">
$('body').on('change', '.combo', function() {
var selectedValue = $(this).val();
if (selectedValue !== '' && $(this).find('option').size() > 8) {
var newComboBox = $(this).clone();
var thisComboBoxIndex = parseInt($(this).attr('data-index'), 10);
var newComboBoxIndex = thisComboBoxIndex + 1;
$('.parentCombo' + thisComboBoxIndex).remove();
newComboBox.attr('data-index', newComboBoxIndex);
newComboBox.attr('id', 'combo' + newComboBoxIndex);
newComboBox.addClass('parentCombo' + thisComboBoxIndex);
newComboBox.find('option[val="' + selectedValue + '"]').remove();
$('#combos').append(newComboBox);
}
});
</script>

问题:此代码使用我的数据库表字段创建组合框。我的问题是字段选择一次后不能重复。代码中的错误在哪里?或者我认为错了什么?

本来应该是这样的:http://jsfiddle.net/JaVVe/1/

最佳答案

问题是您正在检查 size() > 8,因此要使其工作,必须有超过 8 个选项。将其更改为 size() > 2。除此之外,您的代码将正常工作。

另一个问题是您没有将选项值括在引号中。添加引号:

echo "<option value=\"" .$r['field'] . "\">".$r['field'] ."</option>";

字段后还有一个空格:

 $r['field ']
// ^ here, remove that

关于php - 用mysql填充的多动态组合框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13582580/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com