Javascript/Ajax/Jquery 修改选择记录
Javascript/Ajax/Jquery modifying a select record
我有一个html表格,第一列是复选框列表(与表格行一样多)都有id="checkbox1", "checkbox2", "checkbox3"
....单击按钮 ( id="modifyLink"
) 我需要找到第一个选中的复选框(如果第一个之后有任何复选框,则不会打扰),然后打开我的模态 ( id="modModal"
) 并将一个 php 页面加载到其中并发布选中复选框的值。
这就是我得出的(显然不起作用):
$function(){
$("#modifyLink").click(function(){
var checkbox = 'checkbox1';
for(var i=2; getElementById(checkbox).checked == 1; i++){
checkbox = 'checkbox'.i;
}
if(getElementById(checkbox)==true){
var id = getElementById(checkbox).val();
$(#modModal).modal('show');
$(#modModal).innerhtml = 'load my modal with index.php/trainings/mod passing the id variable possibly in POST';
});
};
如果我完全错了,有人可以提出完全不同的建议吗?
编辑:
好的,我已经对此进行了更多的研究,并为此而努力:
$(function() {
$("#trainingRow").click(function() {
var id = $("#trainingRow").attr('data-value');
var dataString = 'id='+ id;
$.ajax({
type: "POST",
url: "/index.php/trainings/showDetail",
data: dataString,
dataType: 'json',
success: function(data) {
$("div#detailModal").html(data.html);
$("div#detailModal").modal('show');
}
});
return false;
});
});
但是为什么div#detailModal html 没有更新?我已经检查了 php 函数通过var_dump返回的内容以及它正是我感兴趣的 HTML 代码,但我不知道为什么它不起作用(返回的变量称为 html,我在返回之前用 php json_encode所有内容)。抬头会很好,我想我已经走得很远了,读了一点:)
你的代码很丑...但你不想这样的东西(未经测试)
$(function)({
$("#modifyLink").click(function(){
var checkbox = 'checkbox',
current = null,
i = 0;
while (document.getElementById(checkbox + i).length == 1){
current = $(document.getElementById(checkbox + i));
if (current.is(':checked'))
{
var id = current.val();
$.post('url', { id: id }, function(content) {
$('#modModal').modal('show');
$('#modModal').html(content);
});
}
i += 1;
}
});
您可以更轻松地执行此操作,如果您能够为所有复选框分配一个类,请说"myCheckboxClass"。 那么你所需要的只是这个:
$function(){
$("#modifyLink").click(function(){
var checkedBox = $(".myCheckboxClass:checked").first();
var val = checkedBox.val();
$(#modModal).modal('show');
$(#modModal).innerhtml = 'load my modal with index.php/trainings/mod passing the id variable possibly in POST';
});
};
或者,如果您知道表的 id,例如"myTableId",您可以进行类似的选择,只需将var checkedBox
行替换为
var checkedBox = $("#myTableId input:checkbox:checked).first();
解决了
,我的ajax实际上是正确的(第二次)。问题是即使你json_encode了变量,你也无法从 PHP 返回变量。您需要json_encode它们并回响它们!
感谢大家的投入!
相关文章:
- 如果用户选择离开网页,如何删除记录
- 从数据库加载记录,不带提交按钮的下拉选择
- 子网格:限制用户仅选择一条记录
- 从Javascript记录数组中选择随机项,并将其转换为数组
- 根据用户在边栏中的选择获取记录
- 基于表单输入值,如何 2 生成选择 4 下拉菜单 w 数据库中的行/记录数据,该数据库将在选择时预填充表单
- 如何为下拉菜单生成选择,其中包含数据库中的行/记录数据,该数据库将在选择时预填充表单
- 默认情况下,从数据列表中选择第一条记录
- 如何生成下拉菜单选择以根据数据库中可用的行/记录表单数据填充表单
- 如何保存具有多个选择下拉列表的 html 表单的选择历史记录
- 角度拼接函数删除另一条记录而不是实际选择的记录
- Javascript/Ajax/Jquery 修改选择记录
- 打破记录中的数量(数字),并将其设置为数组以进行选项选择
- 在输入(文本框)字段中按下回车键时验证并提交表单,但在按下回车键后不选择历史记录
- 是否可以使用服务器返回的总记录和用户在Jquery DataTable中选择的记录数来设置页码
- 这是我的代码,我想添加日期选择器事件,它根据日期给出特定的记录
- 如何根据下拉选择框中的选择更新sql数据库中的特定记录
- 使用PHP从MySql数据库中选择两个日期之间的记录
- EXTJS 3.4如何在选择更改时获取记录数据视图
- 当我console.log用户的单选按钮选择时,记录的总是后面一个