单击提交按钮后,jQuery选择器未显示复选框的选定值,我收到错误[object Object]
Posted
技术标签:
【中文标题】单击提交按钮后,jQuery选择器未显示复选框的选定值,我收到错误[object Object]【英文标题】:jQuery selector not showing the selected value of checkbox after click on submit button and i am getting error[object Object] 【发布时间】:2014-08-11 03:10:36 【问题描述】:嗨,我有一个小项目,其中有选项卡 1,即 FahrzeugeWidget 和选项卡 2,即 FahrzeugeWidgetEdit。在 1 个选项卡中我有列表,在第二个选项卡中我有复选框列表,我想从中选择用户想要的内容,然后在提交按钮后切换到 tab1 并仅显示从复选框中选择的值。我使用 jQuery 选择器进行相同的操作。每件事都是运行良好。只有我无法在提交按钮后从复选框中选择值。只有一个小错误我无法识别。这里是小提琴:demo 所以我应该只从复选框中选择那些值。这是我的代码:
dashboard.php
if($param['aktion'] == 'save-widget-vehicle')
$page['register-fahrzeuge'] = array(
1 => array( 'Fahrzeug','aktiv',$page['script'],''),
0 => array( 'Edit-Fahrzeug','enabled',$page['script'],'',''),
);
$opts = !empty($param['filterOpts']) ? $param['filterOpts'] : array();
$tmp = array();
foreach ($opts as $opt)
$tmp[] = '"'.$opt.'"';
$query =
'SELECT Fahrzeuge.dsnr,name
FROM Fahrzeuge
INNER JOIN ohne_fahrzeuge ON Fahrzeuge.dsnr = ohne_fahrzeuge.dsnr
WHERE Fahrzeuge.name IN ('.implode(",", $tmp).')';
$result = mysql_query($query, $myConnection);
$data = array();
$html = '<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td>
<div>'.CreateRegister($page['register-news']).'</div>
'.CreateMessage().'
<div class="cont-liste-verlauf register"> ';
while($row = mysql_fetch_array($result))
//$news_result = $fahrzeuge['name'];
$html .= '<table id="fahrzeuge">
<tr>
<td>
<a href="amo_fahrzeuge.php"> '. $data[] = $row .'</a>
</td>
</tr> ';
$html .= '</table>
</div>
</td>
</tr>
</table>';
$return = array(
'status' => 1,
'html' => $html
);
echo json_encode($return);
die();
$param['aktion'] = 'get-widget-vehicle';
dashboard.js
function getFahrzeuge()
var opts = [];
$("input[type=checkbox]").each(function ()
if (this.checked)
opts.push($(this).attr("id"));
);
return opts;
function saveFahrzeugeWidget(opts)
if(!opts || !opts.length)
opts = allFahrzeuge;
$.ajax(
type: "POST",
url: "ajax/dashboard.php",
dataType : 'json',
cache: false,
data: filterOpts: opts, 'aktion' : 'save-widget-vehicle',
success: function(data)
// $('#fahrzeuge').html(makeTable(records));
$('#fahrzeuge').html(data.html);
,
error: function(data)
alert('error' + data);
);
$('#fahrzeuge .butt-rahmen').live('click', function()
if($(this).attr('id') == 'submitId')
var opts = getFahrzeuge();
saveFahrzeugeWidget(opts);
// $("#regl1").show();
// $("#regl1").hide();
);
var allFahrzeuge = [];
$("input[type=checkbox]").each(function()
allFahrzeuge.push($(this)[0].id)
)
【问题讨论】:
【参考方案1】:我不知道这是否能解决您的问题,但您使用的是哪个 JQuery 版本? JQuery 函数 .live()
自 1.9 版起已弃用。您必须改用.on()
。您是否可能因为使用 live()
函数未触发操作而无法获取值?
【讨论】:
不,这不是我正在使用旧版本的 jquery 但没有遇到任何问题的问题... Dp 你可能有一个带有一些示例代码的 JSFiddle。你能做一个没有 PHP 部分的吗? 请检查已编辑的小提琴但没有 php 不完整。我猜我在 jquery 中只有一个问题:jsfiddle.net/RCL8N/2 所以在小提琴中我只会从复选框中选择那些值.. 如前所述:您使用的是 Jquery 版本 1.10.1。从版本 1.9.1 开始,事件.live()
被弃用,并且在版本 1.10.1 中不可用。您必须改用.on()
函数。请使用.on()
重构您的代码并进行修改。您的 HTML 中也没有提交按钮,因此我无法对其进行测试。查看我的Fiddle,它基于您使用的 1.10.1 版本。它不会提醒您内容。将版本更改为 1.8.3 并运行它,它会提醒您内容。您使用的功能不适用于 JQuery 版本。
是的,我知道,但这不是我的代码中的问题...我已经在使用旧版本并且我正在使用实时 func 但没有遇到任何问题...我尝试使用 .on( ) 但仍然没有得到任何答案以上是关于单击提交按钮后,jQuery选择器未显示复选框的选定值,我收到错误[object Object]的主要内容,如果未能解决你的问题,请参考以下文章
单击 jQuery Mobile 的提交按钮后,如何显示“加载”弹出窗口?
在按钮标题上滑动文本,如带有 css 和 javascript 的选框(不是 jQuery)