C# Telerik Net Core Treeview模板从所选项目的输入框中获取值
如何从所选的C# Telerik Net Core Treeview模板从所选项目的输入框中获取值,c#,asp.net-core,telerik,kendo-treeview,C#,Asp.net Core,Telerik,Kendo Treeview,如何从所选的复选框项目(和子项目)的输入框中获取值? 我可以获取checkedItem(item.Name)的标签,但现在不知道如何获取输入框的值 <script id="treeview_distribute_template" type="text/kendo-ui-template"> <table> <tbody> <tr> <td width="500
复选框项目
(和子项目
)的输入框
中获取值?我可以获取checkedItem(
item.Name
)的标签,但现在不知道如何获取输入框的值
<script id="treeview_distribute_template" type="text/kendo-ui-template">
<table>
<tbody>
<tr>
<td width="500px;">
#= item.Name #
</td>
<td >
<input id='comment_input' type='text' style="width:500px;" />
</td>
</tr>
</tbody>
</table>
</script>
function getCheckedNodes(nodes) {
var node, childCheckedNodes;
var checkedNodes = [];
for (var i = 0; i < nodes.length; i++) {
node = nodes[i];
if (node.checked) {
checkedNodes.push(node);
}
if (node.hasChildren) {
childCheckedNodes = getCheckedNodes(node.children.view());
if (childCheckedNodes.length > 0) {
checkedNodes = checkedNodes.concat(childCheckedNodes);
}
}
}
return checkedNodes;
}
#=项目名称#
函数getCheckedNodes(节点){
var节点,childCheckedNodes;
var checkedNodes=[];
对于(var i=0;i0){
checkedNodes=checkedNodes.concat(childCheckedNodes);
}
}
}
返回checkedNodes;
}
已解决:
var输入值=[];
函数onCheck(e){
var checkedNodes=[];
var treeView=$(“#treeView”).data(“kendoTreeView”);
var节点=e.node;
var val=$(node.find('input.comment_input').val();
var dataItem=e.sender.dataItem(e.node);
GetCheckedNodeText(数据项,val)
如果(checkedNodes.length>0){
message=“选中节点的ID:”+checkedNodes.join(“,”);
}否则{
message=“未检查任何节点。”;
}
$(“#选定计数”).html(消息);
}
函数removeFromArray(数组,值){
对于(var i=0;i
已解决:
var输入值=[];
函数onCheck(e){
var checkedNodes=[];
var treeView=$(“#treeView”).data(“kendoTreeView”);
var节点=e.node;
var val=$(node.find('input.comment_input').val();
var dataItem=e.sender.dataItem(e.node);
GetCheckedNodeText(数据项,val)
如果(checkedNodes.length>0){
message=“选中节点的ID:”+checkedNodes.join(“,”);
}否则{
message=“未检查任何节点。”;
}
$(“#选定计数”).html(消息);
}
函数removeFromArray(数组,值){
对于(var i=0;i
在这篇文章中,康斯坦丁添加了答案var data=$('treeview').data('kendoTreeView').dataItem(e.node)代码>可能会对您有所帮助。在这篇文章中,康斯坦丁添加了答案var data=$('treeview').data('kendoTreeView').dataItem(e.node)代码>可以帮助您。
SOLVED:
var inputValues = [];
function onCheck(e) {
var checkedNodes = [];
var treeView = $("#treeview").data("kendoTreeView");
var node = e.node;
var val = $(node).find('input.comment_input').val();
var dataItem = e.sender.dataItem(e.node);
getCheckedNodesText(dataItem, val)
if (checkedNodes.length > 0) {
message = "IDs of checked nodes: " + checkedNodes.join(",");
} else {
message = "No nodes checked.";
}
$("#selected-count").html(message);
}
function removeFromArray(array, value) {
for (var i = 0; i < array.length; i++) {
if (array[i].departmentId == value)
array.splice(i, 1);
}
return array;
}
function getCheckedNodesText(nodes, checkedNodeText) {
if (nodes.checked) {
inputValues.push({ departmentId: nodes.id, value: checkedNodeText });
}
else {
inputValues = removeFromArray(inputValues, nodes.id);
}
}
function actionOK(e) {
treeView = $("#treeview").data("kendoTreeView");
var checkedNodes = getCheckedItems(treeView);
var node = e.node;
updateResult(checkedNodes);
$.ajax
(
{
url: '@Url.Action("Distribute", "Document")',
data: { 'selectedItems': JSON.stringify(checkedNodes), 'idDoc': document.getElementById("SelectedDocId").value, 'notes': JSON.stringify(inputValues) },
type: 'POST',
success: function (responce)
{
},
}
);
}