私は Javascript/HTML/C# Razor の初心者なので、このコードを理解するのに苦労しています。
現在、私は以下を持っています
<li class="control-group">
<label for="autoReload" class="control-label">Auto Reload</label>
<div class="controls">
<div class="btn-group radioButtons radioToggleCollapse" data-toggle-id="#autoReloadExtra" data-toggle="buttons-radio">
<button type="button" data-value="no" class="btn active">No</button>
<button type="button" data-value="yes" class="btn">Yes</button>
</div>
<input type="hidden" class="radioHidden" value="'$'+@(Model.IsAutoReload ? "True" : "False")" id="autoReload" name="IsAutoReload">
</div>
</li>
私が探しているのは、[いいえ] ボタンをクリックしたときです。そのテキスト ボックスの値を False に変更します。または、true をクリックした場合は、その値を true に変更します。
次の Javascript を見つけました。
<script>
$(document).ready(function(){
$("#autoReload").on('change',function(){
if ($(this).val() == 'yes') {
$(".saveCardSwitch button[data-value='true']").trigger('click');
$(".saveCardSwitch button").each(function(){
$(this).addClass('disabled').prop('disabled',true);
});
}
if ($(this).val() == 'no') {
$(".saveCardSwitch button").each(function(){
$(this).removeClass('disabled').prop('disabled',false);
});
}
});
});
</script>
ボタンの実際のデータ値を true/false に切り替えてみましたが、これを行うと、開いている隠しメッセージが表示されなくなったため、この時点で立ち往生しています。@(Model.IsReload ? "True" : "False" を呼び出して、post メソッドでコントローラーに値を返すときにも明確にしたいと思いますよね?