gpt4 book ai didi

javascript - 在 jquery 中规范化各种表单输入值

转载 作者:行者123 更新时间:2023-11-30 11:16:24 25 4
gpt4 key购买 nike

我有以下重复代码:

// (3) Change to whether user has an acceptable rate or not
$('.rate-ok').on("change", function(event) {
var id = $(this).data('id');
var field = "rate_ok";
var value = $(this).is(':checked');
console.log(id, field, value)
$.post('/update_data/', {'id': id, 'field': field, 'value': value}, function (response) {
location.reload();
})
});

// (4) Change on status
$('.status').on("change", function(event) {
var id = $(this).data('id');
var field = "status";
var value = $(this).find(":selected").val();
console.log(id, field, value)
$.post('/update_data/', {'id': id, 'field': field, 'value': value}, function (response) {
location.reload();
})
});

它的作用是更新数据库表如下:

UPDATE table SET field=value WHERE id=id

不过,将这两个函数压缩为一个函数会简单得多。但是,value 部分并不相同——一个是复选框,另一个是选择下拉列表。有没有办法在单个函数中获取这两项的“值”(不仅仅是添加 if 语句——但希望根据输入类型提供更通用的东西。

最佳答案

一种方法是概括字段更新部分:

function updateField(id, field, value) {
console.log(id, field, value);
$.post('/update_data/', {'id': id, 'field': field, 'value': value}, function (response) {
location.reload();
});
}

// (3) Change to whether user has an acceptable rate or not
$('.rate-ok').on("change", function(event) {
updateField($(this).data('id'), 'rate_ok', $(this).is(':checked'));
});

// (4) Change on status
$('.status').on("change", function(event) {
updateField($(this).data('id'), "status", $(this).find(":selected").val());
});

关于javascript - 在 jquery 中规范化各种表单输入值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51370999/

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