ドロップダウン選択時にサーバーサイドメソッド(Java)を呼び出す方法を探して、サーバー出力に基づいて(TRUEまたはFALSE)少数のチェックボックスを無効にします。誰かが同じものの周りのお勧めを提供できる場合は非常に感謝します。ドロップダウンの変更時にJquery Ajax Call to Server側メソッドに基づいてチェックボックスを有効/無効にします
2
A
答えて
1
私はこれがどのように行われるかを示す簡単な例をコーディングしました。まず、Javaアプリを設定してajax呼び出しを許可する必要があります。 Javaアプリケーションは、ドロップダウンメニューで選択されたオプションの値である単一のポスト変数名selected
を入力として取り込む必要があります。 Javaアプリケーションは、その後、あまりにも似たフォーマットされたJSON文字列を返す必要があります:
{
"disabled":[
"1",
"3",
"5"
]
}
1、3、および5を使用すると、無効にすることがしたいのチェックボックスのIDを表します。これらはいずれかのチェックボックスの任意のIDにすることができます。この配列にない場合、はがデフォルトで有効に設定されます。
HTML
: http://jsfiddle.net/bpstw/1/希望に役立ちます:
<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です。
1
.change()
handlerをハンドラ内のドロップダウン要素に追加します。$.ajax()
requestは、選択した値をJavaに渡します(おそらくjQueryのショートカットajaxメソッド$.get()
または$.post()
は$.ajax()
よりも簡単です)。Ajax成功コールバックでは、関連するチェックボックスを有効または無効にします。
1
Javaのサーバーサイドコードを含むラジオボタンの別の同様のソリューション。
のjQuery/HTML 値1 値2 VALUE3
<span id="changingCheckboxes">
<label for="group1">One</label>
<input type="radio" name="group1" id="1" value="option1"/>
<label for="group1">Two</label>
<input type="radio" name="group1" id="2" value="option2"/>
<label for="group1">Three</label>
<input type="radio" name="group1" id="3" value="option3"/>
<label for="group1">Four</label>
<input type="radio" name="group1" id="4" value="option4"/>
</span>
のjQuery
function UpdateCheckBoxStatus() {
var CurrentChoice = $("#dropDownId").val();
$.ajax({
url: "/serverSideUrl",
data: { "selectedDropDownId": CurrentChoice },
type: "post",
dataType: "json",
success: function (data) {
SetCheckbox($("#changingCheckboxes").children("input:[type='radio']"), true);
$.each(data.disabled, function() {
SetCheckbox($("#changingCheckboxes #" + this), false); });
}
});
}
function SetCheckbox (th, state) {
if (state) th.removeAttr("disabled");
else if (!state) th.attr("disabled", true);
}
$('#dropDownId').change(UpdateCheckBoxStatus);
のJava
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException,
IOException {
String selectedValue = request.getParameter("dropDownId");
YourDao yourDao = new YourDao();
Map<String, List<String>> disabledOptions = cycleDao.determineStateDropDown(selectedTool);
String json = new Gson().toJson(disabledOptions);
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(json);
}
関連する問題
- 1. jqueryラジオボタンに基づいてテキストボックスを有効/無効にする
- 2. モデルとJqueryに基づいて有効または無効にします
- 3. MVVMを使用してWPFのチェックボックスの選択に基づいてテキストボックスを有効/無効にします。
- 4. テキスト値に基づいてドロップダウン列を無効にする
- 5. 選択した行に基づいてBindingNavigatorItemsを有効/無効にします。
- 6. ドロップダウン値に基づくAjaxベースのチェックボックス
- 7. パースペクティブに基づいてアクションセットを有効または無効にする方法
- 8. MultipleSelectorRowの値に基づいて行を有効/無効にする
- 9. jQueryを無効にして、選択したオプションに基づいて有効にする
- 10. チェックボックスを有効/無効にする
- 11. ドロップダウンメニューの選択に基づいてタブを有効/無効にする
- 12. テキストコントロール値に基づいて連続フォームのボタンを有効/無効にする
- 13. JQuery - 行ごとにチェックボックスを有効/無効にする
- 14. WPF toplevel MenuItemタスクに基づいて有効/無効を切り替えます
- 15. グリッド行に基づいて無効化ボタンを有効にする
- 16. チェックボックス:jQueryのhrefを無効/有効にする
- 17. ASP.NET別のドロップダウン値に基づいてドロップダウンリストを無効にする
- 18. チェックボックスは、サブミットを1回のみ有効/無効にします。jquery
- 19. jQueryはスクロールを無効にして有効にします
- 20. テキストボックスの値に基づいてチェックボックスを有効にする方法は?
- 21. JQuery - チェックボックスでテーブル行のドロップダウンを有効にする
- 22. 数値に基づいてng-repeatチェックボックスを無効にする角度
- 23. jqueryでイベントを一時的に無効にして有効にする
- 24. jQueryの検証プラグインをクリックして他のチェックボックスを無効にするチェックボックスを無効にする
- 25. フレームが開いているかどうかに基づいてボタンを有効または無効にする
- 26. jQueryのチェックボックスのチェックを無効にするTextBoxを無効にしますか?
- 27. Railsいくつかのフィールドを有効/無効にするチェックボックス
- 28. jQueryでAJAX結果に基づいてDOMを変更する
- 29. ファイルの所有権に基づいてPHPを無効にする
- 30. 上記のドロップダウンリストの選択に基づいてドロップダウンリストを無効にします
+1。それを見て、必要に応じてあなたに戻ってきます。 –