标签文本更改时触发输入单击事件

问题描述 投票:0回答:2
  1. 我有一个id为lblResult的标签
  2. 我有以下代码: @(Html.TreeView(Model).EmptyContent(“root”)。Kidren(m => m.Childs).HtmlAttributes(new {id =“tree”})。KidrenHtmlAttributes(new {@class =“subItem”}) .ItemText(m => m.AssetNumber).ItemTemplate(@@ * @ item.AssetNumber * @))
  3. 然后,我在视图上有以下代码:

@using (Html.BeginForm("AssetTypeIndex", "ControlFiles", FormMethod.Get)) { <div class="row"> <div class="col-lg-offset-2 col-lg-8 col-lg-offset-2"> <div class="form-inline"> <div class="input-group"> <span class="input-group-addon" id="basic-addon1">Search</span> @Html.TextBox("SearchString", ViewBag.CurrentFilter as string, new { @class = "form-control" }) <span class="input-group-btn"> <button class="btn btn-default" type="submit" value="Search">View</button> </span> </div> <div class="pull-right"> <a [email protected]("AssetTypeCreate", "ControlFiles") class="btn btn-default">Create New</a> </div> </div> </div> </div> }

  1. 在脚本部分: $(function(){var selectedData; $('#jstree')。jstree({“core”:{“multiple”:true,“check_callback”:true,'themes':{“responsive”:true,'variant ':'small','stripes':false,'dots':true}},“types”:{“default”:{“icon”:“glyphicon glyphicon-record”},“root”:{“icon” :“glyphicon glyphicon-ok”}},“plugins”:[“dnd”,“state”,“types”,“sort”]})。on('changed.jstree',function(e,data){var i,j,r = []; for(i = 0,j = data.selected.length; i

如果你看到上面的代码。有一个提交按钮,触发控制器上的搜索功能。 我的问题是,是否可以在不点击按钮的情况下运行“搜索功能”?当lblResult从jsTree收到文本时,我想运行'搜索功能',这意味着当lblResult文本发生变化时。

请指教。 谢谢。

jquery asp.net-mvc
2个回答
0
投票
Option 1: When clicking a node on your jsTree trigger that submit function by simulating a mouse-click using click method. As you know for sure the label will be changing.

@using (Html.BeginForm("AssetTypeIndex", "ControlFiles", FormMethod.Get)){
    <div class="row">
        <div class="col-lg-offset-2 col-lg-8 col-lg-offset-2" style="margin-top:-5px;">
            <div class="form-inline">
                <div class="input-group">
                    <span class="input-group-addon" id="basic-addon1">Search</span>
                    @Html.TextBox("SearchString", ViewBag.CurrentFilter as string, new { @class = "form-control" })
                    <span class="input-group-btn">
                        <button class="btn btn-default" id="submitSearch" type="submit" value="Search">View</button>
                    </span>
                </div>

                <div class="pull-right">
                    <a [email protected]("AssetTypeCreate", "ControlFiles") class="btn btn-default">Create New</a>
                </div>
            </div>
        </div>
    </div>
}
$("#submitSearch").click(); // use the code when clicking a node on jsTree

Option 2: If you are manually changing the label by entering in a textbox then use the keyup event to trigger submit function.

$(function(){
  $("#lblreasult").on('keyup', function(){
    $("#submitSearch").click();
  });
});

0
投票

很抱歉我迟到的回复,当你点击jsTree ex中的节点时:标签的id是node1,你可以删除这段代码

<span class="input-group-btn">
     <button class="btn btn-default" id="submitSearch" type="submit" value="Search">View</button>
 </span>

或者添加这个css代码

#submitSearch{display:hidden}

我在你的代码中编辑了一下

$('#jstree').on('changed', function (e, data) { 
    var i, j = data.selected.length, r = []; 
    for(i = 0,  i < j; i++) { 
        r.push(data.instance.get_node(data.selected[i]).text); 
    } 
    $('#event_result').html('Selected: ' + r.join(', ')); 
    $('#lblResult').text('your text here');//
    $('form').submit();
});
© www.soinside.com 2019 - 2024. All rights reserved.