如何通过加载的子部分视图更改父视图中的javascript变量?

时间:2012-10-02 18:15:23

标签: javascript ajax asp.net-mvc-partialview

这是在asp.net mvc 3中,但我认为这种情况相当普遍。

我有一个部分视图,它是从ajax加载的预览版。在预览中,如果部分预览操作不正确,则可以选中复选标记。我需要在启动预览的视图中捕获它。我打算这样做:

<script>
 var checkmark = false;
 $.ajax(/*load view*/);
 function calledLaterAfterPartialViewRendered(){
  if( checkmark == true ){
    //action
  }
 }
</script>

已加载视图:

<script>
 //checkmark's state will be determined by the user
 $("#SomeCheckBoxInput").click(function(){ checkmark = this.value; });
</script>

确定状态后,将从DOM中删除整个局部视图。访问该州是否有更好的做法?我知道复选标记将在加载的视图中可用,并且在加载的视图消失后调用的函数将能够访问更新的变量。但是,似乎这可能不是最好的可读性。

这是标准,在这种情况下是否有最佳做法?

1 个答案:

答案 0 :(得分:0)

好的,我现在看到你在问什么。只需检查功能正文中是否选中了复选框。所以你的复选框看起来像是:

<input type='checkbox' id='check'/>

在你的功能中:

if ($('#check').prop('checked')){
    // The checkbox is checked
}