Since you've quoted your attribute value with ', it ends at the first ' inside it.
Instead, use ":
json += "<td><input type='checkbox' id='chkBoxHelp' onclick='chkbox(\"" + dt.Rows[i][1].ToString() + "\",\"" + dt.Rows[i][2].ToString() + "\");'";
// -----------------------------------------------------------------^^--------------------------------^^-^^--------------------------------^^
Or, of course, don't use inline onxyz-attribute-style handlers at all, as they have several issues, not least that functions like your chkBoxHelp have to be globals.
For instance, you might store the arguments as data-* values:
json += "<td><input type='checkbox' id='chkBoxHelp' data-id='" + dt.Rows[i][1].ToString() + "' data-name='" + dt.Rows[i][2].ToString() + "'";
// -------------------------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...and use modern event handling (addEventListener, etc.) to hook up the function, and have the function retrieve the values from the element.
";to the end of your statement, since it isn't the problem but was incorrect.