/ / Zakázanie začiarkavacieho políčka a rozbaľovacej ponuky - jquery, html, formuláre

Zakázať začiarkavacie políčko a rozbaliť - jquery, html, formuláre

Vyvíjam aplikáciu kalendára pre svoju webovú stránku a som trochu nakladaná. Tu je html pre časť aplikácie, v ktorej potrebujem pomoc:

<table border="0" cellpadding="2" cellspacing="4">
<tbody>
<tr>
<td class="main b_width"><strong>Repeat Every:</strong></td>
<td class="main width">

<select name="Day">

<option value="1" selected>no recurrence</option>
<option value="2">days</option>
<option value="3">weeks</option>
<option value="4">month by day</option>
<option value="5">month by week</option>

</select>

</td>
</tr>

<tr>
<td class="main b_width"><strong>At Days:</strong></td>
<td class="main b_width">

<select name="Day">

<option value="1" selected>First</option>
<option value="2">Second</option>
<option value="3">Third</option>
<option value="4">Fourth</option>

</select>

<input type="checkbox" name="Monday" ;>&nbsp;Mon&nbsp;

</td>
</tr>

Čo chcem vedieť, je to prvé políčko na výberje vytvorený, pre prvú možnosť „bez opakovania“, ako by som urobil všetky ostatné začiarkavacie políčka a začiarkavacie políčka neaktívne, zakázať ich tak, aby nebolo možné vyberať žiadne údaje. Akákoľvek pomoc by sa veľmi ocenila

odpovede:

1 pre odpoveď č. 1

Skúste to:

$("select[name=Day]").eq(0).change(function () {
$("select[name=Day]").eq(1).prop("disabled", (this.value === "1"));
$("input[name=Monday]").prop("disabled", (this.value === "1"));
}).change();

FIDDLE


0 pre odpoveď č. 2

Skúste takto:

$("#Day").change(function(e){
if($(this).val()=="1"){
$("#Day2").attr("disabled","disabled");
}
});

0 pre odpoveď č. 3

Aby ste to dosiahli, musíte použiť javascript.
Pridajte ID recurrence do prvého výberového poľa a triedy recurrence-input ku všetkým prvkom, ktoré chcete zakázať, keď nie je zvolená žiadna opakovanie, a použite nasledujúci javascript (pomocou jQuery):

$("#recurrence").on("change", function() {} {
if ($(this).val() === "1") {
$(".recurrence-input").attr("disabled", "disabled");
} else {
$(".recurrence-input").removeAttr("disabled");
}
});

ak no-recurrence je predvolená hodnota pre vaše výberové pole, mali by ste preto zakázať aj ostatné vstupy, keď je tiež vložený dokument.


0 pre odpoveď č. 4
$("table :input:gt(0)").prop("disabled", true);
$("#recur").change(function () {
$("table :input:gt(0)").prop("disabled", ($(this).val() == 1));
});

jsFiddle example

Jedným z problémov vášho príkladu je však to, že máte viacero výberových prvkov s rovnakým názvom. Aktualizoval som váš HTML, aby som im dal jedinečné ID. Pozrite si fiddle pre HTML.