jquery - 添加新选项以选择列表而不刷新页面
问题描述
我有一个从 Mysql 表填充的下拉选择列表。
<select name="displayfloor" class="datatext" id="displayfloor">
<option></option>
<option value="new">Add new floor</option> // ADD NEW OPTION
<?php do { ?>
<option value="<?php echo $row_SignageFloors['FloorName']?>"><?php echo $row_SignageFloors['FloorName'];?></option>
<?php
} while ($row_SignageFloors = mysql_fetch_assoc($SignageFloors));
$rows = mysql_num_rows($SignageFloors);
if($rows > 0) {
mysql_data_seek($SignageFloors, 0);
$row_SignageFloors = mysql_fetch_assoc($SignageFloors);
}
?>
</select>
在列表中是一个创建新楼层的选项,当它被选中时,它会打开一个模式表单,可以在其中输入新的楼层号码。提交此表单时,它会使用 Ajax 脚本将新的 ada 写入 Mysql 表,见下文.. 这很好用。
$('#floor_insert').on('click', function(e){
e.preventDefault();
var form = $('form')[3];
var formData = new FormData(form);
$.ajax({
url: "insert_new_floor_ajax.php",
data: formData,
method:"POST",
cache: false,
contentType: false,
processData: false,
success: function(data) {
$('#add_floor_modal').modal("hide") //alert(data);
}
})
});
有没有一种方法可以在不刷新页面的情况下刷新选择列表。我在这里和其他地方查看了许多问题,但似乎没有一个可以处理这种情况。
非常感谢您的帮助和时间。
解决方案
添加新选项以选择列表而不刷新页面
要使用 jquery 添加新内容option
,请使用:
$("#selectId").append("<option>" + textofoption + "</option>");
如果您想从输入中获取新文本:
var textofoption = $("#input").val()
要选择新选项,请在selected
创建时添加 - 这也可以在添加选项后通过更改选项.val()
的选择或设置checked
来实现,但最容易在创建时添加:
$("#selectId").append("<option selected>" + textofoption + "</option>");
例子:
$("#b").click(function() {
var opt = $("#newopt").val();
$("#s").append("<option selected>" + opt + "</option>");
$("#newopt").val("");
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select id='s'>
<option>Option 1</option>
</select>
<hr/> Enter new option: <input type='text' id='newopt' /><button id='b' type='button'>click me</button>
推荐阅读
- react-native - 当我安装 npm install @react-navigation/native 时,我会遇到这个问题
- excel - 相同的 vba 宏在其他 PC 上产生不同的结果
- javascript - 检查字符串是否包含没有额外字符的子字符串?
- c# - ActiveViewIndex 在 3 视图中未按预期工作
- python - Sympy 无法评估 log(sin(x)) 从 0 到 π/2 的积分。该怎么办?
- python - 如何根据提供的语句打印所有正确的值
- json - 如何在 java 中读取存储在 Amazon S3 中的 JSON 文件并将其转换为 CSV
- google-sheets - 下一行 ID 出现在输入值之前
- azure - 无法从 Azure Blob 读取:“org.apache.hadoop.fs.azure.AzureException:找不到 Azure 存储帐户的凭据
- java - 如何将 MouseMotionListener 与非 GUI 相关类一起使用?