gpt4 book ai didi

javascript - 从多个选择中调用 AJAX

转载 作者:行者123 更新时间:2023-11-29 08:22:29 25 4
gpt4 key购买 nike

这是上一篇文章的延续,我对 AJAX 非常陌生,因此一直碰壁。无论如何,我有以下代码:

<script type='text/javascript'>
$(document).ready(function(){
$('#view1, #view2, #view3, #view4, #view5, #view6, #view7, #view8, #view9, #view10, #view11, #view12, #view13, #view14, #view15, #view16, #view17, #view18').on( 'change', 'select', function( ) {
var statusVal = $(this).val();
var job_id = $(this).prop('id');
$.ajax({
type: "POST",
url: "saveStatus.php",
data: { statusType : statusVal, jobID: job_id },
cache : false,
success: function(data) {
$('#view1').load('jobs.php #view1', function() {});
$('#view2').load('jobs.php #view2', function() {});
$('#view3').load('jobs.php #view3', function() {});
$('#view4').load('jobs.php #view4', function() {});
$('#view5').load('jobs.php #view5', function() {});
$('#view6').load('jobs.php #view6', function() {});
$('#view7').load('jobs.php #view7', function() {});
$('#view8').load('jobs.php #view8', function() {});
$('#view9').load('jobs.php #view9', function() {});
$('#view10').load('jobs.php #view10', function() {});
$('#view11').load('jobs.php #view11', function() {});
$('#view12').load('jobs.php #view12', function() {});
$('#view13').load('jobs.php #view13', function() {});
$('#view14').load('jobs.php #view14', function() {});
$('#view15').load('jobs.php #view15', function() {});
$('#view16').load('jobs.php #view16', function() {});
$('#view17').load('jobs.php #view17', function() {});
$('#view18').load('jobs.php #view18', function() {});
}
})
});
});
</script>

现在我有多个 select 语句,每个 div 的 View 都是 view1-18,所以 18 个 div 每个都有一个 select 语句,它的工作原理是自动将 select 中的值保存到我的数据库中,但是效果很好我确信这是写得不好的代码,所以我的第一个问题是帮助它正确格式化

我的第二个问题是,如果现在我想在每个 div 中添加两个选择,并将每个选择保存到不同的数据库字段中,该怎么办。以下是我的选择代码:

    <select name="status" id="<?php echo str_pad($job->job_id, 6, "0", STR_PAD_LEFT); ?>">
<option value=''>--Select--</option>
<option value='Job Approved' <?php if($job->job_schedulestatus == 'Job Approved') echo 'selected'; ?> >Jobs Approved to Print Internally</option>
<option value='To Artwork' <?php if($job->job_schedulestatus == 'To Artwork') echo 'selected'; ?> >To Artwork</option>
</select>

我想过添加另一个并将其称为“status2”,然后创建一个重复的 AJAX 调用并将任何显示 status 的内容重命名为 status2 ,但这不起作用,我不知道该去哪里。我还创建了一个 saveStatus2.php,其中包含要插入到新字段中的代码。

任何指导/帮助将不胜感激

伊恩

最佳答案

这对我来说似乎有点可疑 - 主要是因为我看到的是正在发生的“ajax inception”事情。请记住 $.load() 也是一个 ajax 函数,因此您将调用多个 .load 事件作为主 ajax 事件的回调。

有没有办法将其合并到单个 Ajax 调用中,就像您拥有的第一个包装器 ajax 一样,然后让 PHP 为您设置所有选择?

如果您必须迭代每个选择,我可能会采用这条路线以使其更清晰:

for(var i=1; i<19; i++)
{
$('#view'+i).load('jobs.php#view'+i); //empty callback not needed here as well..
}

关于javascript - 从多个选择中调用 AJAX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18963425/

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