Php Symfony2 Ajax发送选项选定值
当我将脚本发送到控制器时,我遇到一个问题。选择的值选项为null Jquery代码是: (当用户选择状态时,运行脚本Php Symfony2 Ajax发送选项选定值,php,ajax,symfony,Php,Ajax,Symfony,当我将脚本发送到控制器时,我遇到一个问题。选择的值选项为null Jquery代码是: (当用户选择状态时,运行脚本 $('.status_select').on({ change: function(e) { e.preventDefault(); var $href1 = $(this).attr('id'); $('<div>&l
$('.status_select').on({
change: function(e) {
e.preventDefault();
var $href1 = $(this).attr('id');
$('<div></div>').load($href1+' form', function(){
var $form1 = $(this).children('form');
var $cb1 = $form1.find('select[name="marcin_adminbundle_updatezamtype[status]"]');
$cb1.prop('value');
var $url1 = $form1.attr('action');
var $data1 = $form1.serialize();
$.ajax({
url: $url1,
data: $data1,
method: 'post',
dataType: 'json',
cache: false,
success: function(obj) {
var $tic = $('#task-complete-'+obj.id+' .status_select');
if(obj.complete){
}
else {
$('#wynik'+obj.id).load(document.URL + ' #wynik'+obj.id);
$('#wynik_b'+obj.id).load(document.URL + ' #wynik_b'+obj.id);
}
},
complete: function() {
console.log('complete!');
},
error: function(err) {
console.log(err);
}
});
});
}
});
});
$('.status_select')。打开({
更改:功能(e){
e、 预防默认值();
var$href1=$(this.attr('id');
$('').load($href1+'form',function(){
var$form1=$(this.children('form');
var$cb1=$form1.find('select[name=“marcin\u adminbundle\u updatezamtype[status]”);
$cb1.道具(“价值”);
var$url1=$form1.attr('action');
var$data1=$form1.serialize();
$.ajax({
url:$url1,
数据:$data1,
方法:“post”,
数据类型:“json”,
cache:false,
成功:功能(obj){
变量$tic=$(“#任务完成-”+obj.id+“.status_select”);
如果(目标完成){
}
否则{
$('#wynik'+obj.id).load(document.URL+'#wynik'+obj.id);
$('#wynik_b'+obj.id).load(document.URL+'#wynik_b'+obj.id);
}
},
完成:函数(){
console.log('complete!');
},
错误:函数(err){
控制台日志(err);
}
});
});
}
});
});
请帮忙
我希望在选择optopn时收到一个值
HTML:
{{article.id}
{{article.jakie_zam}}
我们的机器人是如何实现的?机器人是如何实现的?机器人是如何实现的?机器人是如何实现的?机器人是如何实现的
控制台日志:
panel:829 Objectabort: (a)always: ()complete: ()done: ()error: ()fail: ()getAllResponseHeaders: ()getResponseHeader: (a)overrideMimeType: (a)pipe: ()progress: ()promise: (a)readyState: 4responseText: "<!DOCTYPE html>↵<html>↵ <head>↵ <meta charset="UTF-8" />↵ <meta http-equiv="X-UA-Compatible" content="IE=edge">↵ <title>Administracja GM</title>↵ <meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">↵ <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">↵ <!-- Ionicons -->↵ <link rel="stylesheet" href="https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css">↵ <link rel="stylesheet" type="text/css" href="/bundles/marcinadmin/bootstrap/css/bootstrap.min.css" />↵ <link rel="stylesheet" type="text/css" href="/bundles/marcinadmin/dist/css/AdminLTE.min.css" />↵ <link rel="stylesheet" type="text/css" href="/bundles/marcinadmin/dist/css/skins/skin-blue.min.css" />↵ <link rel="stylesheet" type="text/css" href="/bundles/marcinadmin/plugins/datatables/dataTables.bootstrap.css" />↵ ↵ <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->↵ <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->↵ <!--[if lt IE 9]>↵ <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>↵ <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>↵ <![endif]-->↵ ↵ <link rel="icon" type="image/x-icon" href="/favicon.ico" />↵ </head>↵ <body class="hold-transition skin-blue sidebar-mini">↵ <div class="wrapper">↵↵ <!-- Main Header -->↵ <header class="main-header">↵↵ <!-- Logo -->↵ <a href="/app_dev.php/panel" class="logo">↵ <!-- mini logo for sidebar mini 50x50 pixels -->↵ <span class="logo-mini"><b>GM</b></span>↵ <!-- logo for regular state and mobile devices -->↵ <span class="logo-lg">Grupa<b>MAGNUM</b></span>↵ </a>↵↵ <!-- Header Navbar -->↵ <nav class="navbar navbar-static-top" role="navigation">↵ <!-- Sidebar toggle button-->↵ <a href="#" class="sidebar-toggle" data-toggle="offcanvas" role="button">↵ <span class="sr-only">Toggle navigation</span>↵ </a>↵ <!-- Navbar Right Menu -->↵ <div class="navbar-custom-menu">↵ <ul class="nav navbar-nav">↵ <!-- Messages: style can be found in dropdown.less-->↵ <!-- /.messages-menu -->↵↵ <!-- Notifications Menu -->↵ <!-- Tasks Menu -->↵ <!-- User Account Menu -->↵ <li class="dropdown user user-menu">↵ <!-- Menu Toggle Button -->↵ <a href="#" class="dropdown-toggle" data-toggle="dropdown">↵ <!-- The user image in the navbar-->↵ <img src="https://sklep.grupamagnum.eu//upload/GM_fb.jpg" class="user-image" alt="User Image">↵ <!-- hidden-xs hides the username on small devices so only the image appears. -->↵ <span class="hidden-xs">Admin GM</span>↵ </a>↵ <ul class="dropdown-menu">↵ <!-- The user image in the menu -->↵ <li class="user-header">↵ <img src="https://sklep.grupamagnum.eu//upload/GM_fb.jpg" class="img-circle" alt="User Image">↵ <p>↵ Administrator GrupaMAGNUM↵ <small>Rok założenia 1996</small>↵ </p>↵ </li>↵ <!-- Menu Body ↵ <li class="user-body">↵ <div class="col-xs-4 text-center">↵ <a href="#">Followers</a>↵ </div>↵ <div class="col-xs-4 text-center">↵ <a href="#">Sales</a>↵ </div>↵ <div class="col-xs-4 text-center">↵ <a href="#">Friends</a>↵ </div>↵ </li>-->↵ <!-- Menu Footer-->↵ <li class="user-footer">↵ <!-- <div class="pull-left">↵ <a href="#" class="btn btn-default btn-flat">Profile</a>↵ </div>-->↵ <div class="pull-right">↵ <a href="/app_dev.php/logout" class="btn btn-default btn-flat">Wyloguj</a>↵ </div>↵ </li>↵ </ul>↵ </li>↵ <!-- Control Sidebar Toggle Button -->↵ <li>↵ <a href="#" data-toggle="control-sidebar"><i class="fa fa-gears"></i></a>↵ </li>↵ </ul>↵ </div>↵ </nav>↵ </header>↵ <!-- Left side column. contains the logo and sidebar -->↵ <aside class="main-sidebar">↵↵ <!-- sidebar: style can be found in sidebar.less -->↵ <section class="sidebar">↵↵ <!-- Sidebar user panel (optional) -->↵ <…avascript" src="/bundles/marcinadmin/plugins/jQuery/jQuery-2.1.4.min.js"></script>↵ <script type="text/javascript" src="/bundles/marcinadmin/bootstrap/js/bootstrap.min.js"></script>↵ <script type="text/javascript" src="/bundles/marcinadmin/dist/js/app.min.js"></script>↵ <!-- DataTables -->↵ <script type="text/javascript" src="/bundles/marcinadmin/plugins/datatables/jquery.dataTables.min.js"></script>↵ <script type="text/javascript" src="/bundles/marcinadmin/plugins/datatables/dataTables.bootstrap.min.js"></script>↵ ↵ <script>↵ $(function(){↵ $('.ajax-task-complete').on({↵ click: function(e) {↵ e.preventDefault();↵ var $href = $(this).attr('href');↵ ↵ $('<div></div>').load($href+' form', function(){↵ var $form = $(this).children('form');↵ var $cb = $form.find('input[type="checkbox"]');↵ ↵ $cb.prop('checked', !$cb.prop('checked'));↵ ↵ var $cb1 = $form.find('select[name="marcin_adminbundle_updatezamype[status]"]');↵ ↵ $cb1.prop('selected', !$cb1.prop('selected'));↵ ↵ var $url = $form.attr('action');↵ var $data = $form.serialize();↵ ↵ $.ajax({↵ url: $url,↵ data: $data,↵ method: 'post',↵ dataType: 'json',↵ cache: false,↵ success: function(obj) {↵ var $tic = $('#task-complete-'+obj.id+' .ajax-task-complete');↵ if(obj.complete){↵ //$tic.text('X');↵ ↵ }↵ else {↵ //$tic.text('0');↵ $('#wynik'+obj.id).load(document.URL + ' #wynik'+obj.id);↵ $('#wynik_b'+obj.id).load(document.URL + ' #wynik_b'+obj.id);↵ }↵ },↵ complete: function() {↵ console.log('complete!');↵↵ },↵ error: function(err) {↵ console.log(err);↵ }↵ });↵ });↵ }↵ });↵ ↵ ↵ $('.status_select').on({↵ change: function(e) {↵ //$(document).on('change', '.status_select', function() {↵ // $('select[name*="status_select"]').prop('selected', true).change(function(e){↵ e.preventDefault();↵ var $href = $(this).attr('id');↵ ↵ ↵ $('<div></div>').load($href+' form', function(){↵ //var $form = $(this).children('form');↵ var $form = $(this).closest('form');;↵ var $cb = $form.find('select[name="marcin_adminbundle_updatezamtype[status]"]');↵ ↵ $cb.prop('selected');↵ ↵ var $url = $form.attr('action');↵ var $data = $form.serialize();↵ ↵ $.ajax({↵ url: $url,↵ data: $data,↵ method: 'post',↵ dataType: 'json',↵ cache: false,↵ success: function(obj) {↵ var $tic = $('#task-complete-'+obj.id+' .status_select');↵ if(obj.complete){↵ //$tic.text('X');↵ ↵ }↵ else {↵ //$tic.text('0');↵ $('#wynik'+obj.id).load(document.URL + ' #wynik'+obj.id);↵ $('#wynik_b'+obj.id).load(document.URL + ' #wynik_b'+obj.id);↵ }↵ },↵ complete: function() {↵ console.log('complete!');↵↵ },↵ error: function(err) {↵ console.log(err);↵ }↵ });↵ });↵ }↵ });↵ });↵ ↵ </script>↵ </body>↵</html>↵"setRequestHeader: (a,b)state: ()status: 200statusCode: (a)statusText: "OK"success: ()then: ()__proto__: Object
panel:829 Objectabort:(a)始终:()完成:()完成:()错误:()失败:()getAllResponseHeaders:()getResponseHeader:()覆盖类型:(a)管道:()进度:()承诺:(a)readyState:4responseText::↵↵ ↵ ↵ ↵ 行政总经理↵ ↵ ↵ ↵ ↵ ↵ ↵ ↵ ↵ ↵ ↵ ↵ ↵ ↵ ↵ ↵ ↵ ↵↵ ↵ ↵↵ ↵ ↵↵ ↵ ↵ ↵ ↵ ↵ ↵ ↵ ↵ ↵↵ ↵ ↵ ↵ - ↵ ↵ ↵
↵ ↵ - ↵ ↵ ↵ 格鲁帕马格南管理员↵ Rok założenia 1996↵ ↵ 李>↵ ↵ ↵
- ↵ ↵ ↵ ↵ ↵ 李>↵
↵ 李>↵ ↵ <李>↵ ↵ 李>↵
↵ ↵ ↵ ↵ ↵ ↵↵ ↵ ↵↵ ↵ 我认为$form1
没有定义
您应该通过$(this.closest('form');
获得它,假设您的选择框实际上位于html表单标记之间
您应该避免对JS变量使用“$”,而将其保留在PHP部分
我不确定首次加载功能的相关性:
$('<div></div>').load($href1+' form', function(){});
$('').load($href1+'form',function(){});
您能提供HTML部分吗?谢谢您的快速回复。同样的…发送null.This$('').load($href1+'form',function(){});->从update.HTML.twigHeum加载表单。您能控制台.log($form1)吗告诉我呈现了什么?你能用HTML部分更新你的问题以便清楚地理解你的DOM吗?谢谢。我有点困惑。由于你的编辑,我给出了所有的前代码。我认为$('')有问题。加载(
。您应该加载到通过其类名或ID找到的特定元素中。编辑代码并添加$('#divID')。加载(将所有表单加载到表中。Status- 此值不应为空。
您能告诉我$form1是否是正确的对象吗?Console.log($form1)
$('<div></div>').load($href1+' form', function(){});