我使用以下Javascript根据使用PHP / Mysql的动态选择填充另一个表单。
这很好但我也想在发送URL字符串时使用_GET来触发它。我已将select元素配置为默认使用此选项:
<option value="<?php echo $_GET['EmpNumber'] ?>"><?php echo $_GET['EmpFirstName'] ?> <?php echo $_GET['EmpLastName'] ?></option>
但是当我在URL中调用具有EmpNumber,EmpFirstName和EmpLastName值的页面时,下面的脚本不会触发。我如何实现这一目标?
<script>
$(document).ready(function() {
$('select').on('change', function (e) {
var optionSelected = $("option:selected", this);
var valueSelected = this.value;
if(valueSelected){
$.ajax({
type: "POST",
cache: false,
url: "getinfo.php",
data: "data="+valueSelected,
dataType: "html",
success: function(res)
{
//alert(res);
$('#Name').val(res + '\'s');
},
error: function(xhr, ajaxOptions, thrownError)
{
},
async: false
});
}
else {
$('#Name').val('Value');
}
//alert(valueSelected);
});
});
</script>
答案 0 :(得分:2)
如果我正确理解了这个问题,您希望在首次加载页面时触发change
事件的相同功能。这很简单:
$('select').on('change', function() {
// some code
}).trigger('change');
最后一部分.trigger('change')
(或简称.change()
)将执行您刚刚绑定到这些元素的change
事件的函数,就像用户选择了新价值。