gpt4 book ai didi

javascript - 发送一个 ajax POSt 选中的复选框以及选定的下拉列表

转载 作者:行者123 更新时间:2023-11-28 00:12:42 25 4
gpt4 key购买 nike

选中我们决定使用此代码保留的复选框

$('.list input[type=checkbox]').on('change', function () {
var favorite = {};

$('.list input[type=checkbox]:checked').each(function () {
var $el = $(this);
var name = $el.attr('name');
if (typeof (favorite[name]) === 'undefined') {
favorite[name] = [];
}
favorite[name].push($el.val());
});

$.ajax({
url: '/Search.asp',
type: 'POST',
data: $.param(favorite),
dataType: 'text',
success: function (data) {
$("#ExSearchForm").html(data)
.find('input[type=checkbox]').each(function () {
var $el = $(this);
var name = $el.attr('name');
var value = $el.attr('value')
if (favorite[name] && favorite[name].indexOf(value) !== -1) {
$el.prop('checked', true);
}
});
}
});
});

现在我们还需要保存类似的下拉值

$('.list Select[option]').on('change', function () {
var favorite = {};

$('.list Select[option]:selected').each(function () {
var $el = $(this);
var name = $el.attr('name');
if (typeof (favorite[name]) === 'undefined') {
favorite[name] = [];
}
favorite[name].push($el.val());
});

$.ajax({
url: '/Search.asp',
type: 'POST',
data: $.param(favorite),
dataType: 'text',
success: function (data) {
$("#ExSearchForm").html(data)
.find('Select[option]').each(function () {
var $el = $(this);
var name = $el.attr('name');
var value = $el.attr('value')
if (favorite[name] && favorite[name].indexOf(value) !== -1) {
$el.prop('selected', true);
}
});
}
});
});

可以将其合并到一个ajax帖子中吗?

最佳答案

可以通过使用通用函数onValueChange并将其附加为复选框和下拉菜单的更改事件的监听器来实现:

function onValueChange() {
var favorite = {};

$('.list input[type=checkbox]:checked').each(function () {
var $el = $(this);
var name = $el.attr('name');
if (typeof (favorite[name]) === 'undefined') {
favorite[name] = [];
}
favorite[name].push($el.val());
});
$('.list Select[option]:selected').each(function () {
var $el = $(this);
var name = $el.attr('name');
if (typeof (favorite[name]) === 'undefined') {
favorite[name] = [];
}
favorite[name].push($el.val());
});

$.ajax({
url: '/Search.asp',
type: 'POST',
data: $.param(favorite),
dataType: 'text',
success: function (data) {
$("#ExSearchForm").html(data)
.find('input[type=checkbox]').each(function () {
var $el = $(this);
var name = $el.attr('name');
var value = $el.attr('value')
if (favorite[name] && favorite[name].indexOf(value) !== -1) {
$el.prop('checked', true);
}
});
$("#ExSearchForm").html(data)
.find('Select[option]').each(function () {
var $el = $(this);
var name = $el.attr('name');
var value = $el.attr('value')
if (favorite[name] && favorite[name].indexOf(value) !== -1) {
$el.prop('selected', true);
}
});
}
});
};
$('.list input[type=checkbox]').on('change',onValueChange);
$('.list Select[option]').on('change', onValueChange);

关于javascript - 发送一个 ajax POSt 选中的复选框以及选定的下拉列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30758943/

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