AJAX/JS:自动提交和php回显所选项目的值
AJAX/JS: Auto submit and php echo value of selected item
我目前正在使用AJAX/JS来自动提交表单。该函数与文本输入字段配合良好,但与选择框配合不好。有没有办法让JS函数回显所选项目的值?示例
AJAX/JS提交功能
<script>
$(document).ready(function() {
var timer = null;
var dataString;
function submitForm(){
$.ajax({ type: "POST",
url: "test1.php",
data: dataString,
success: function(result){
$('#condition_input').text( $('#resultval', result).html());
}
});
return false;
}
$('#condition').on('keyup', function() {
clearTimeout(timer);
timer = setTimeout(submitForm, 1000);
var condition = $("#condition").val();
dataString = 'condition='+ condition;
});
});
</script>
Html/PHP
if (isset($_POST['condition'])){
$condition = $_POST['condition'];
echo ('<div id="condition"><span id="resultval"><h2>Description:</h2>'.$condition.'</span></div>');
}
<select name="condition" id="condition" value="<? $condition ?>" >
<option value=""></option>
<option value="new">New</option>
<option value="used">Used</option>
<option value="not Working">Not Working or for parts</option>
</select>
您必须绑定"on change"-事件:
$('#condition').on('keyup change', function() {
// ...
}
并且您的标记不正确。不能在select元素上设置值属性。要选择正确的值,您必须循环选择选项,并通过设置属性"selected"来标记正确的值:
<?php
// ...
$options = array(
'' => '',
'new' => 'New',
'used' => 'Used',
'not_working' => 'Not Working or for parts',
);
?>
<select name="condition" id="condition" >
<?php foreach ($options as $optionValue => $optionText): ?>
<option value="<?php echo $optionValue ?>" <?php echo $condition == $optionValue ? 'selected="selected"' : null ?>><?php echo $optionText ?></option>
<?php endforeach ?>
</select>
相关文章:
- 在BootStrap菜单栏中为所选项目设置背景,类似于BootStrap中的父导航选项
- jQuery:根据select选项中的每页项目进行分页
- 更新:仅根据单选按钮和所选选项选择特定项目
- HTML选择,在DOM中选择了正确的选项,但在firefox中显示了错误的项目
- 如何在angular js中的select选项中获取所选项目id
- 如何将一个表单中的项目添加到 Rails 中另一个表单的下拉选项
- 当表单控件选项具有多个参数时,如何在组合框中填充所选项目
- 通过单击按钮将选项卡(项目)添加到选项卡面板,扩展
- 如何将此选项添加到此图像选取器项目中
- 更新“项目”选项以进行排序
- 在呈现项目后,挖空选择绑定回调的选项
- 在单击选项卡式项目时隐藏和创建另一个对象 - HTML CSS
- 使用表排序器筛选所选选项列表中的选定项目
- jQuery 在选项列表中重新填充所选项目
- 将项目插入活动选项卡窗格
- Microsoft Dynamics Online:将所有选项集项目复制到多行文本字段(使用 JavaScript)
- 在选择选项中选择多个项目,而不使用“Ctrl”键
- jQuery Mobile,在选项列表中选择所有项目
- 从下拉列表中选择项目后,显示新选项并显示文本
- 如何在浏览器窗口/选项卡关闭时删除本地存储项目