【发布时间】:2019-02-08 13:31:19
【问题描述】:
在下拉选项中,我想监听并获取用户选择的选项的值。
然后我想将此值传递给一个 PHP 变量,以便在刀片视图 PHP 脚本的后面部分中使用。
我不想重新加载页面,因此从网上看,我发现 ajax 是唯一可能的方法。
我尝试实现如下所示,但在提交页面加载时遇到了问题。
更好的是有一个选择选项下拉列表,您可以在不提交的情况下获得选定的值?
我的选择选项代码:
<form id="myForm">
<div class="button dropdown">
<select name="languageSelected" required="required" id="languageselector" onChange='showSelected(this.value)'>
<option value="">Pick A language</option>
@foreach($reviewForm_language as $lang)
<option value="{{$lang->id}}">{{$lang->name}}</option>
@endforeach
</select>
</div>
<input id="ajaxSubmit" type="submit" value="Select"/>
</form>
我的 JS 代码:
<script>
jQuery(document).ready(function(){
jQuery('#ajaxSubmit').click(function(e){
e.preventDefault();
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content')
}
});
jQuery.ajax({
url: "{{ url('#') }}",
method: 'post',
data: {
id: jQuery('#languageSelected').val(),
},
success: function(result){
jQuery('.alert').show();
jQuery('.alert').html(result.success);
}});
});
});
</script>
在重新加载时,我可以将值作为 GET 请求获取,如下所示;但是,我不想重新加载页面,但由于某些原因它会重新加载。
`<?php
$langId = request()->get('languageSelected');
?>`
有人吗?
【问题讨论】:
-
您不能将 JavaScript 值直接传递给 PHP,尤其是在不重新加载页面的情况下更是如此。 PHP 是一个服务器端脚本。页面加载后,将不再执行任何代码。首先,你必须改变你的 jQuery 函数来听“提交”而不是“点击”。你想用这个值做什么,或者你为什么要把它交给 PHP?
-
@Chris 我想根据所选值显示数据
标签: javascript php jquery ajax laravel