Java скрипт на treeview для выбора 1 узла со списком каталогов
У меня есть treeview в asp.net с динамическим содержимым , заполненным во время выполнения, я хочу выбрать только один узел , для которого я скопировал java script из интернета, чтобы сделать это, что работает, так как я новичок в c# и java script, но у него есть одна проблема, что он работает на уровне страницы, то есть он также снимает все другие элементы управления флажками на этой же странице.
Я хочу, чтобы этот java-скрипт работал только с этим элементом treeview , а не со всеми элементами управления на уровне страницы, я попытался указать treeview в качестве имени тега в функции JS, но не сработал, пожалуйста, помогите мне в этом отношении, что именно нужно изменить
Мой treeview определяется следующим образом на странице aspx :
<asp:TreeView ID="tvwItems"
и это называется, как показано ниже в файле кода c# на уровне рендеринга страницы события :
tvwItems.Attributes.Add("OnClick","client_OnTreeNodeChecked(event)");
Java-скрипт выглядит следующим образом :
Что я уже пробовал:
<script type="text/javascript"> // select only one folder from treeview function client_OnTreeNodeChecked(event) { var treeNode = event.srcElement || event.target; if (treeNode.tagName == "INPUT" && treeNode.type == "checkbox") { if (treeNode.checked) { uncheckOthers(treeNode.id); } } } function uncheckOthers(id) { var elements = document.getElementsByTagName('input'); // loop through all input elements in form -- issue here need to limit to that tree only , help required from expert ?? for (var i = 0; i < elements.length; i++) { if (elements.item(i).type == "checkbox") { if (elements.item(i).id != id) { elements.item(i).checked = false; } } } } </script>
Большое спасибо
Чандан
ZurdoDev
Во-первых, вам действительно нужно понять, как работает код, и тогда его будет легко исправить. Опасно использовать код, который вы нашли в интернете, но не понимаете.
Он перебирает элементы с другим идентификатором и снимает с них флажки.