Мне нужна помощь для консолидации/сокращения кода ниже. Первоначально у меня было выпадающее меню, которое контролирует видимость div на основе ценности. Он работает onClick, но поскольку это страница базы данных, она не работает onLoad, поэтому мне пришлось добавить вторую логику. Любые предложения/ввод приветствуются.jquery click (function) onload
$(document).ready(function() {
var $caseStatus = $(this).find("#auth_status").val();
//alert ($caseStatus);
if ($caseStatus === "1") {
$(".pendingClass").show();
$(".authClass").hide();
}
else if ($caseStatus === "2") {
$(".pendingClass").hide();
$(".authClass").show();
}
else {
$(".pendingClass").hide();
$(".authClass").hide();
}
// Show/Hide Divs for Authorization Status
$("#auth_status").click(function() {
if ($(this).val() === "0") {
$(".pendingClass").hide();
$(".authClass").hide();
}
else if ($(this).val() === "1") {
$(".pendingClass").show();
$(".authClass").hide();
}
else if ($(this).val() === "2") {
$(".pendingClass").hide();
$(".authClass").show();
}
});
});
+1 Это более элегантно, чем моя версия. Но на самом деле '$ caseStatus' следует называть' caseStatus'. ;-) И выражение '$ (this) .val() ===" 1 ";' слишком упрощено, поскольку есть три случая. – Tomalak
@ Томалак - лучше? :) Я не уверен, что означает '1' для статусов, но это должно быть названо этим статусом действительно, чтобы быть как можно более ясным. –
@Tomalak - Woops, я читал, что '0' и' 2' были одинаковыми, вы правы, те шоу/шкуры разные, обновлены с исправлением. –