2014-05-24 45 views
0

目前我有這樣的:剃刀asp.net:訪問JavaScript變量

resources: [ 
    { 
     field: "roomId", 
     name: "Rooms", 
     dataSource: { 
      transport: { 
       read: { 
        url: "@Html.Raw(
         Url.Action(
          "Filter_Rooms", 
          "Room", 
          new { 
           pFilter = false, 
           pCapacity = 25, 
           pBeamer = true, 
           pTelevision = false 
          }))", 
        dataType: "json" 
       }, 
      } 
     } 
    } 
] 

這些參數pFilter = false, pCapacity = 25, pBeamer = true, pTelevision = false,用於過濾現在硬編碼的,但實際上我想他們:

HTML

<div class="checkbox"> 
    <label> 
    <input id="chkBeamer" type="checkbox"> Beamer available 
    </label> 
</div>        
<a href="#" id="btnFilter" class="btn btn-outline btn-primary btn-lg btn-block">Filter rooms</a> 

Javascript

$(document).ready(function() { 

    $("#btnFilter").click(function() { 
     var pFilter = document.getElementById("chkBeamer").checked;   
    }); 
}); 

我可以得到javascript來使用pFilter參數而不是硬編碼的參數嗎?


HTMLHidden

<div class="checkbox"> 
    <label> 
    @Html.Hidden("pBeamer", true); 
    <input id="chkBeamer" type="checkbox"> Beamer available 
    </label> 
</div> 

JavaScript資源

resources: [ 
    { 
     field: "roomId", 
     name: "Rooms", 
     dataSource: { 
      transport: { 
       read: { 
        url: "@Html.Raw(
         Url.Action(
          "Filter_Rooms", 
          "Room", 
          new { 
           pBeamer = ("#pBeamer")??? 
          }))", 
        dataType: "json" 
       }, 
      } 
     } 
    } 
] 
+0

您正在使用的「資源」是使用Javascript,對不對? – RKS

+0

是的,在JavaScript中確實是 – user3629755

+0

您可以嘗試更新的解決方案嗎? – RKS

回答

0

有兩種方法可以做到這一點: -

1)您可以隱藏這些f的每個字段我們的領域,您可以填寫您的Javascript功能點擊btnFilter。在使用resources時訪問這些隱藏字段。

@Html.Hidden("pFilter","<value>"); 

您可以在下面的代碼中訪問這些隱藏的字段。

resources: [ 
    { 
     field: "roomId", 
     name: "Rooms", 
     dataSource: { 
      transport: { 
       read: { 
        url: "@Html.Raw(
         Url.Action(
          "Filter_Rooms", 
          "Room", 
          new { 
           pFilter = <get value from hidden field>, 
           pCapacity = <get value from hidden field>, 
           pBeamer = <get value from hidden field>, 
           pTelevision = <get value from hidden field> 
          }))", 
        dataType: "json" 
       }, 
      } 
     } 
    } 
] 

2)你可以到你btnFilter點擊指定值,並用它作爲resources你正在做的目前全局變量。

我建議你按照第一個解決方案。

+0

我無法使用document.getElementById ...名稱文檔在當前上下文中不存在 – user3629755

+0

@ user3629755:您可以試試這個嗎?這應該工作。 – RKS

+0

對不起,我不明白嗎? – user3629755