0

JavaScriptを使用してフォームを変更し、このフォームのオプションを入力しようとしています。ほぼ終わりましたが、克服できないマイルストーンに到達しました。誰かが助けてくれるかしら。サンプルはこちらから入手できます:http://jsfiddle.net/vladc77/bq5U6/3/

休業日(土曜日と日曜日)を正常に割り当てることはできますが、フォームのチェックボックスをオン/オフにして、すべての営業日のステータス(無効化/有効化)を変更することはできません。この行のチェックボックスにスタイルを割り当てる方法を変更せずに何ができるかを教えてください。

 $(this).append(' <span class="closed custom-checkbox"><input type="checkbox" name="closed" value="closed" class="closed" id="closedHoursElement" onchange="closedHours()"><span class="box"><span class="tick"></span></span></span>Closed');

前もって感謝します。

4

1 に答える 1

0

これは、チェックボックスの兄弟を取得しようとしているためです。兄弟だけがスパン要素です。select要素は、親要素の兄弟です。

$('input[type=checkbox]').change(function() {   
       $(this).parent().siblings('select').prop('disabled', this.checked);
});

http://jsfiddle.net/vladc77/bq5U6/3/

また、 .prop()を使用して無効な属性を設定する必要があります。jQuery1.6以降の場合

jQueryドキュメントから

.attr()メソッドの代わりに、.prop()メソッドを使用して無効に設定し、チェックする必要があります。

propを使用して無効なプロパティを設定すると、trueまたはfalseに設定できます

$(element).prop('disabled',true);  // disabled
$(element).prop('disabled',false); // not disabled
于 2012-10-05T19:44:49.097 に答える