gpt4 book ai didi

JQuery AJAX 使用 VALUE 作为键/id

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

我想知道如何获得一个 id 值,这样我就可以做这样的事情,我有 2 个字段和一个 div(状态)。

<input name="item_1" type="hidden" value="1" /> 
<input type="text" name="date_1" id="dateselect" onchange="check();" />
<div id="status_1">Click on the field above!</div>

<input name="item_2" type="hidden" value="2" />
<input type="text" name="date_2" id="dateselect" onchange="check();" />
<div id="status_2">Click on the field above!</div>

对于 item_x 和 date_x 等,隐藏字段中的值将是相同的数字。这是 2 组字段,而且还会有更多!使用 PHP 编码(foreach item)。

所以我需要将这些字段的值传递到ajax请求中。

date = $("[name='date']").val();
item = $("[name='item']").val();
elm = "#status";

我如何获得“1”或“2”作为名为 id 的 var,这样我就可以做类似的事情

date = $("[name='date_"+id+"']").val();
item = $("[name='item_"+id+"']").val(); or item = id;
elm = "#status_"+id;

由于会有多个这样的迷你检查器,因此只有在单击时才会执行相同的操作,但不会同时执行。当只有 1 个时我可以很容易地做到这一点,但当有超过 1 个时我有点卡住了。

这是我的版本,做了一次,我需要一些如何设置 id,所以它不再是未定义的:

function check(id,elm) {
book = $("[name='date']").val();
var item = '';
if(id === undefined){
item = $("[name='item']").val();
}else{
item = id;
}
if(elm === undefined){
elm = "#status";
}
if(book.length >= 3 && item.length >= 0) {
$(elm).html('<img align="middle" src="images/loading.gif" alt="Checking" /> Checking availability...');
$.ajax({type: "POST",url: "checker.php",data: "date="+book+"&itemid="+item,success: function(msg){
$(elm).ajaxComplete(function(event, request, settings){
if(msg == 'OK') {
$(elm).html(' <img align="middle" src="images/tick.png" alt="Available" /> Available!');
$(elm).next().val(1);
} else {
$(elm).html(msg);
$(elm).next().val(0);}
});
}});
} else {
$(elm).html('');
}
}

感谢您的帮助

最佳答案

基于您的标记,没有 onchange 事件

<input name="item_1" type="hidden" value="1" /> 
<input type="text" name="date_1" id="dateselect" />
<div id="status_1">Click on the field above!</div>

<input name="item_2" type="hidden" value="2" />
<input type="text" name="date_2" id="dateselect" />
<div id="status_2">Click on the field above!</div>

对于初学者来说,您可以让 jQuery 进行事件连接,并使用正确的事件(我认为 onkeypressonblur 是最好的)

$(function(){
// bind the onkeypress event to textboxes that start with 'date_'
$("input:text[name^='date_']").onkeypress(function(){
var id = $(this).attr("name").split("_")[1];

var $date = $(this);
var $item = $("[name='item_" + id + "']");
var $status = $("#status_" + id);

if($date.val().length >= 3 && $item.length > 0) {
$status.html('<img align="middle" src="images/loading.gif" alt="Checking" /> Checking availability...');
$.ajax({
type: "POST",
url: "checker.php",
data: "date=" + $date.val() + "&itemid=" + $item.val(),
success: function(msg) {
if(msg == 'OK') {
$status.html('<img align="middle" src="images/tick.png" alt="Available" /> Available!');
$item.val(1);
} else {
$status.html(msg);
$item.val(0);
}
}
});
}
else {
$status.html('');
}
});
});

关于JQuery AJAX 使用 VALUE 作为键/id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7162617/

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