gpt4 book ai didi

javascript - 如何使用 jquery 将从服务器文件获取的 JSON 值填充到创建的 HTML 表单中?

转载 作者:行者123 更新时间:2023-12-01 00:15:55 24 4
gpt4 key购买 nike

仅供引用:我没有使用引导模态框来弹出窗口。

我的表格每行都有按钮,用于在弹出的模式框中显示详细信息。

我附上了 dashboard.htmlmodal.jsmodal.cssmodal.php 所需的部分代码.

我缺乏jquery的概念来将元素添加到表单并通过PHP分配返回的JSON文件的值,然后将表单添加到div标签类modal-content。弹出模式框的 CSS 在按钮单击时也不起作用。

此外,我想删除 class modal-content 中以前的 html 表单标签,因为每次新行单击都会弹出新表单,用户可以在其中编辑和更改行的值。

您可以通过查看下面的屏幕截图获得更清晰的图片。

enter image description here

enter image description here

文件dashboard.html,该文件有调用modal.js的按钮

<div class="row">
<div class="col span-4-of-4">

<div style="overflow-x:auto;">

<table class="display_table" id='main_lead_table' style="display: none;">

<thead>
<th>#</th>
<th>Lead Id</th>
<th>Name</th>
<th>Website</th>
<th>Linkedin</th>
<th>Lead Description</th>
<th>Owner Notes</th>

<?php

if($_SESSION['Admin'] == '1'){

?>

<th>Admin Notes</th>
<th>Added By</th>

<?php

}

?>

<th>Last Contact Date</th>
<th>Next Contact Date</th>
<th>Lead Status</th>
<th>Details</th>

</thead>

<tbody id='leadTable'>

<?php



function getLeadAddedByName($id){

include('./server/connection.php');

$selectSQL = "SELECT UserName FROM `tbl_user_signup_info` WHERE User_Id = '$id' ";

$result = $conn -> query ($selectSQL);

$name = "";

while($row = mysqli_fetch_array($result)){

$name = $row['UserName'];

}

return $name;

}

include('./server/connection.php');

$selectSQL = "SELECT * FROM `tbl_main_lead_info` ORDER BY Lead_Id";

$result = $conn -> query ($selectSQL);

$i = 1;

while ($row = mysqli_fetch_array($result)) {

printf( "<tr class='content'>
<td>%s</td>
<td>%s</td>

<td>%s</td>
<td>%s</td>

<td>%s</td>
<td>%s</td>

<td>%s</td>
<td>%s</td>

<td>%s</td>
<td>%s</td>

<td>%s</td>
<td>%s</td>

<td><button id='%d' name='leadidclick' value='%d' > View </button></td>
</tr>",

$i,
$row['Lead_Id'],
$row['FirstName']." ".$row['LastName'],
$row['Website'],
$row['Linkedin'],
$row['LeadDescription'],
$row['OwnerNotes'],
$row['AdminNotes'],

getLeadAddedByName($row['LeadAddedBy'])."<br>Date/Time: ".$row['LeadAddedOn'],

date('d-m-Y', strtotime($row['LastContactDate'])),
date('d-m-Y', strtotime($row['NextContactDate'])),
$row['LeadStatus'],

$row['Lead_Id'],
$row['Lead_Id'],

);

$i = $i+1;

}

?>

</tbody>

</table>
</div>
</div>
</div>

<div id="myModal" class="modal">

<!-- Modal content -->
<div class="modal-content">
<span class="close">&times;</span>

<p>This is Modal Box</p>

</div>

</div>

modal.js 文件将在每次单击新按钮时获取行 ID,并构建 HTML 表单,以便使用该 HTML 表单弹出模式框。

$(document).ready(function() {

$('[name="leadidclick"]').click(function(e){

e.preventDefault();
// var leadid = $('[name="leadidclick"]').val();

var leadid = $(this).val();

alert("You clicked Leadid: " + leadid);

$.ajax({

type: "POST",
url: './server/modal.php',
data: {

'leadid': leadid

},
success: function(data){

var result = $.parseJSON(data);
console.log(result);

console.log(result.length)
//Modal Box to POP UP HERE

$.each(result, function(key, value) {

$form = $("<form action='' method='POST'></form>").attr("id", value['Lead_Id']);


//This value assigning based on JSON Key value pair is also not working


$form.append('<label>Lead Id: </label><input type="text" name="leadid" ').attr("id", value['Lead_Id']);

$form.append('<label>Lead Name: </label><input type="text" name="leadname">').attr("value", value['FirstName']+" "+value['LastName']);

$form.append('<label>Company: </label><input type="text" name="company" ').attr("value", value['Company']);


$form.append('<input type="button" value="button">');

i = i + 1;

});


$( ".modal-content" ).append( $form );

//This change in CSS is not working

$('#myModal').css("display", "show");


}

});

});

});

用于显示模态的文件modal.css

/* The Modal (background) */
.modal {
display: none; /* Hidden by default */
position: fixed; /* Stay in place */
z-index: 1; /* Sit on top */
left: 0;
top: 0;
width: 100%; /* Full width */
height: 100%; /* Full height */
overflow: auto; /* Enable scroll if needed */
background-color: rgb(0,0,0); /* Fallback color */
background-color: rgba(0,0,0,0.4); /* Black w/ opacity */

}

/* Modal Content/Box */
.modal-content {
background-color: #fefefe;
margin: 15% auto; /* 15% from the top and centered */
padding: 20px;
border: 1px solid #888;
width: 80%; /* Could be more or less, depending on screen size */
}

/* The Close Button */
.close {
color: #aaa;
float: right;
font-size: 28px;
font-weight: bold;
}

.close:hover,
.close:focus {
color: black;
text-decoration: none;
cursor: pointer;
}

@特鲁普蒂·巴拉德我收到模式框弹出显示的控制台错误,并且我无法弹出模式框(我正在使用不带 Bootstrap 的模式框)。

modal.js:61 Uncaught TypeError: $(...).modal is not a function
at Object.success (modal.js:61)
at c (jquery-3.4.1.min.js:2)
at Object.fireWith [as resolveWith] (jquery-3.4.1.min.js:2)
at l (jquery-3.4.1.min.js:2)
at XMLHttpRequest.<anonymous> (jquery-3.4.1.min.js:2)

最佳答案

在文件中dashboard.html您必须在模型代码 ex 中给出 div。 <div id="formapp">

<div id="myModal" class="modal">

<!-- Modal content -->
<div class="modal-content">
<span class="close">&times;</span>

<p>This is Modal Box</p>
<div id="formapp">
</div>
</div>

</div>

在ajax中

 $.ajax({

type: "POST",
url: './server/modal.php',
data: {

'leadid': leadid

},
success: function(data){

var result = $.parseJSON(data);
console.log(result);

console.log(result.length)
//Modal Box to POP UP HERE

$('#formapp').empty(); // first empty division content
var form=''; //declare var
$.each(result, function(key, value) {

form = $("<form action='' method='POST'></form>").attr("id", value['Lead_Id']);


//This value assigning based on JSON Key value pair is also not working


form.append('<label>Lead Id: </label><input type="text" name="leadid" value="'+value['Lead_Id']+'">');

form.append('<label>Lead Name: </label><input type="text" name="leadname" value="'+value['FirstName']+" "+value['LastName']+'">');

form.append('<label>Company: </label><input type="text" name="company" value="'+value['Company']+'">');


form.append('<input type="button" value="button">');

i = i + 1;

});


$( "#formapp" ).html( form );

//This change in CSS is not working

$('#myModal').show();


}

});

或者不需要$.each()对于单个记录只需使用 result[0]['Lead_Id']

还有$form被视为引用。在jquery中使用var声明变量

关于javascript - 如何使用 jquery 将从服务器文件获取的 JSON 值填充到创建的 HTML 表单中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59769166/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com