チェックされたラジオボタンがクリックされたときに、ラジオボタンをチェック不可にしようとしていますが、取得できません。jQuery 1.9.1 および jQuery Mobile 1.3.1 を使用します。以前のバージョンのいくつかの例を既に試しましたが、すべてが機能しません。
以下はJSFiddleで機能しますが、ブラウザで試してみると機能しません。
JS:
var prev = {};
$('input[name*=radio-choice-]').click(function(){
if (prev && prev.value == this.value) {
$(this).prop('checked', !prev.status);
}
prev = {
value: this.value,
status: this.checked
};
});
HTML:
<div data-role="fieldcontain">
<fieldset id="hours" class="ui-grid-b" data-role="controlgroup"
data-type="horizontal">
<div class="ui-block-a">
<div class="ui-bar ui-bar-d" style="height: 40px">
<input type="radio" name="radio-choice-b" id="radio-choice-1"
value="1"> <label for="radio-choice-1">1</label>
</div>
</div>
<div class="ui-block-b">
<div class="ui-bar ui-bar-d" style="height: 40px">
<input type="radio" name="radio-choice-b" id="radio-choice-2"
value="2"> <label for="radio-choice-2">2</label>
</div>
</div>
<div class="ui-block-c">
<div class="ui-bar ui-bar-d" style="height: 40px">
<input type="radio" name="radio-choice-b" id="radio-choice-3"
value="3"> <label for="radio-choice-3">3</label>
</div>
</div>
<div class="ui-block-a">
<div class="ui-bar ui-bar-d" style="height: 40px">
<input type="radio" name="radio-choice-b" id="radio-choice-4"
value="4"> <label for="radio-choice-4">4</label>
</div>
</div>
<div class="ui-block-b">
<div class="ui-bar ui-bar-d" style="height: 40px">
<input type="radio" name="radio-choice-b" id="radio-choice-5"
value="5"> <label for="radio-choice-5">5</label>
</div>
</div>
<div class="ui-block-c">
<div class="ui-bar ui-bar-d" style="height: 40px">
<input type="radio" name="radio-choice-b" id="radio-choice-6"
value="6"> <label for="radio-choice-6">6</label>
</div>
</div>
</div>
</fieldset>
<fieldset id="minutes" class="ui-grid-b" data-role="controlgroup"
data-type="horizontal">
<div class="ui-block-a">
<div class="ui-bar ui-bar-e" style="height: 40px">
<input type="radio" name="radio-choice-a" id="radio-choice-15"
value="15"> <label for="radio-choice-15">15</label>
</div>
</div>
<div class="ui-block-b">
<div class="ui-bar ui-bar-e" style="height: 40px">
<input type="radio" name="radio-choice-a" id="radio-choice-30"
value="30"> <label for="radio-choice-30">30</label>
</div>
</div>
<div class="ui-block-c">
<div class="ui-bar ui-bar-e" style="height: 40px">
<input type="radio" name="radio-choice-a" id="radio-choice-45"
value="45"> <label for="radio-choice-45">45</label>
</div>
</div>
</fieldset>
</div>
</div>
編集:Javascriptが機能します!ラジオボタンのグループごとに (名前に基づいて) 2 回追加する必要があります。
$(document).delegate('.ui-page', 'pageshow', function () { code hier });にヒントコードを追加する必要があります。$(document).ready の代わりに。理由は ここで説明します