【发布时间】:2019-07-04 12:01:38
【问题描述】:
在下拉选项中,我想监听并获取用户选择的选项的值。
然后我想将此值传递给一个 PHP 变量,以便在刀片视图 PHP 脚本的后面部分中使用。
我不想重新加载页面,因此从网上看,我发现 ajax 是唯一可能的方法。
我尝试实现如下所示,但在提交页面加载时遇到了问题。
更好的是有一个选择选项下拉列表,您可以在不提交的情况下获得选定的值?
我的 HTML 代码:
<form id="myForm">
<div class="button dropdown">
<select name="languageSelected" required="required" id="languageselector">
<option value="">Select the 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>
JavaScript 代码:
<script src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>
<script>
jQuery('#languageselector').on('change', function(){
jQuery.ajax({
url: "{{ url('/selected/id') }}",
method: 'post',
data: {
id: $(this).val(),
},
success: function(result){
jQuery('.alert').show();
jQuery('.alert').html(result.success);
}
});
});
选择所选语言 id 的 PHP 代码
<?php
$langId = request()->get('languageSelected');
?>
我的路线代码;
Route::post('/selected/languageId', 'ProfileController@selectedLangId');
我的控制器代码;
public function selectedLangId(Request $request)
{
return response()->json(['success'=> $request->id]);
}
我正在学习 AJAX,由于某些原因页面加载。有好心人指导一下吗?
【问题讨论】:
-
请写出您遇到的障碍。它给你一个错误吗?输出是空白的吗?你的电脑爆炸了吗? ;-)
-
@Zeth 页面重新加载,这是出乎意料的,因为我希望这不会发生
-
那么,当您在
<select>-字段上选择一个选项时,它会重新加载页面吗?还是当您按下<input type="submit" ... />-按钮时页面重新加载? -
@Zeth 在页面重新加载时提交
-
您以
id发布,但是当您使用languageSelected检索密钥时
标签: javascript php jquery ajax laravel