从Checkbox设置数据绑定

时间:2015-06-26 15:23:28

标签: javascript asp.net-mvc asp.net-mvc-4 kendo-ui

    <input type="hidden" name="OPTIONAL">

    <div class="form-group">
        <input type="checkbox" name="OPTIONAL" id="ValueCheck" onclick="setCheckedValue()" />
    </div>



    <script type="text/javascript">

        function setCheckedValue()
        {
            if (document.getElementById("ValueCheck").checked)
            {
                document.getElementsByName("OPTIONAL")[0].value = 1;
            }
            else
            {
                document.getElementsByName("OPTIONAL")[0].value = 0;
            }        
        };
    </script>

你好,

我把这个隐藏在我的ascx中的模型中。 我需要在复选框被取消时将隐藏的值设置为1,而当它不是时,我需要设置为0.

问题是隐藏使用data-bind =&#34;值:OPTIONAL&#34;作为价值和价值=&#34; ...&#34; 由我的复选框设置是没用的。

如何设置复选框中的数据绑定值?

此致

1 个答案:

答案 0 :(得分:0)

根据您的if条件,我猜测您尝试根据组合框设置隐藏的输入值,如果选中,则将其设置为1,否则为0.

  • 而是添加名称(我不确定您使用它的原因,当您有数据绑定时)使用数据绑定
  

问题是隐藏使用data-bind =&#34;值:OPTIONAL&#34;如   价值和价值=&#34; ...&#34;由我的复选框设置是没用的。

  • 我真的不明白这意味着什么,但是使用选中来获取复选框值

试试这段代码:

  <div id="example">
    <input type="hidden" data-bind="value:text">
    <input type="checkbox" data-bind="checked: isChecked, click:clicked" />
    <button data-bind="click: seeValue" >see hidden texbox value</button>
  </div>
  <script>
  var viewModel = kendo.observable({
      isChecked: 1,
      text: 1,
      clicked: function(e){
        this.isChecked ? this.set("text",1) : this.set("text",0);
      },
      seeValue: function(e){
        alert(this.text);
      }
  });


  kendo.bind(document.getElementById("example"), viewModel);
  

DEMO

注意:您可以先选中/取消选中该复选框,然后点击按钮查看隐藏的输入值