gpt4 book ai didi

java - 下拉更改时基于 Jquery Ajax 调用服务器端方法启用/禁用复选框

转载 作者:行者123 更新时间:2023-12-01 03:50:11 25 4
gpt4 key购买 nike

寻找一种在下拉选择更改时调用服务器端方法(Java)的方法,并根据服务器输出(真或假),启用或禁用几个复选框。如果有人可以提供相同的建议,我将不胜感激。

最佳答案

我编写了一个快速示例来向您展示如何完成此操作。首先,您需要设置 Java 应用程序以允许 ajax 调用。 java 应用程序需要接受单个 post 变量名称 selected 作为输入,它是下拉菜单中所选选项的值。然后,java 应用程序也需要返回格式类似的 json 字符串:

{
"disabled":[
"1",
"3",
"5"
]
}

1、3 和 5 代表您想要禁用的复选框的 ID。这些可以是任何复选框的任何 ID。如果它不在该数组中,则它默认设置为启用。

HTML:

<select id="choiceSelector">
<option value="1">Something 1</option>
<option value="2">Something 2</option>
</select>

<br/><br/>
<div id="changingCheckboxes">
<input type="checkbox" name="" id="1"><br/>
<input type="checkbox" name="" id="2"><br/>
<input type="checkbox" name="" id="3"><br/>
<input type="checkbox" name="" id="4"><br/>
<input type="checkbox" name="" id="5"><br/>
<input type="checkbox" name="" id="6">
</div>​

Javascript/jquery

function UpdateCheckBoxStatus ()
{
var CurrentChoice = $('#choiceSelector').val();

$.ajax({
url: "####YOUR JAVA APP URL####",
data: { "selected": CurrentChoice },
type: "post",
dataType: "json",

success: function (data)
{
SetCheckbox($('#changingCheckboxes').children("input:[type='checkbox']"), true);
$.each(data.disabled, function ()
{
SetCheckbox($('#changingCheckboxes #' + this), false);
});
}
});

}

/// Sets the checkbox to enabled or disabled
/// @param th Jquery reference of one or more checkboxes
/// @param usable True/False if the checkbox is enabled/disabled
function SetCheckbox (th, usable)
{
if (usable)
th.removeAttr("disabled");
else if (!usable)
th.attr("disabled", true);
}


$(function ()
{
$('#choiceSelector').change(UpdateCheckBoxStatus);
UpdateCheckBoxStatus(); //run for page load
});

另外,这是它的jsfiddle:http://jsfiddle.net/bpstw/1/

希望有帮助。

关于java - 下拉更改时基于 Jquery Ajax 调用服务器端方法启用/禁用复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9652061/

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