由于我是 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>
现在我尝试将按钮上的实际数据值切换为真/假,但是当我这样做时,我打开的隐藏消息不再显示,所以我有点卡在这一点上。我还想澄清一下,当我调用 @(Model.IsReload ? "True": "False"时,会将值传递回 post 方法中的 Controller ,对吗?
最佳答案
当您使用 Jquery 时,您可以按以下方式进行操作:
$('.btn').click(function(){
$('.radioHidden').val($(this).attr('data-value') === 'yes');
});
<强> Fiddle
关于c# - 使用 Javascript 更改隐藏字段的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17577270/