伙计们,我有一个包含文本和按钮的列,我想要的是单击按钮时文本已更改..这是我的代码

var count = 0;
$(document).ready(function() {
      $("#jqGrid").jqGrid({
        data: data.rows,
        datatype: "local",
        styleUI: "Bootstrap",
        colModel: [

          {
            label: 'Customer ID',
            name: 'CustomerID',
            width: 180,
            editable: true,
            edittype: "custom",
            id: "CustomerID",
            editoptions: {
              custom_element: function(value, options) {
                var parts = value.split(' ');
                var elemStr = '<div><input size="6" id="txt_"' + count + '" value="' + parts[0] +
                  '" /><input type="button" size="5" value="..." onclick="setText();"/></div>';

                count++;

                // return DOM element from jQuery object
                return $(elemStr)[0];
              },
              custom_value: function(elem) {
                var inputs = $("input", $(elem)[0]);
                var first = inputs[0].value;
                return first;
              }
            }
          },

        ],

      });
     });

      function setText() {
        document.getElementById("txt_" + count).innerHTML = "hey";
      }




那为什么给我那个例外呢? .. plz帮助.. btw我是初学者

最佳答案

setText内部的计数未定义。

第一个更改按钮的onclick功能以传递计数变量

 var elemStr = '<div><input size="6" id="txt_"' + count + '" value="' + parts[0] +
                  '" /><input type="button" size="5" value="..." onclick="setText(' + count + ');"/></div>';


然后接受计数作为参数

function setText(count) {
        document.getElementById("txt_" + count).innerHTML = "hey";
      }

关于javascript - 无法在JavaScript中将属性“innerHTML”设置为null,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37138415/

10-11 05:54