Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
引导导航面板和日期选择器,带有对C#控制器的javascript调用_Javascript_C#_Jquery_Twitter Bootstrap - Fatal编程技术网

引导导航面板和日期选择器,带有对C#控制器的javascript调用

引导导航面板和日期选择器,带有对C#控制器的javascript调用,javascript,c#,jquery,twitter-bootstrap,Javascript,C#,Jquery,Twitter Bootstrap,我有一段代码,允许用户将数据输入引导数据采集器,然后单击提交按钮,日期显示在导航面板中。单击按钮后,我有一个javascript函数,它将确定用户在哪个选项卡上,并将在MVC控制器中运行一个C#函数。我目前有两个函数DelayedSpiffDate,InstantSpiffDate。由于某些原因,即使选择了instantspiff选项卡,它也只会加载DelayedSpiffDate函数。我不确定我做错了什么?这是我的html: <div class="row-fluid 1">

我有一段代码,允许用户将数据输入引导数据采集器,然后单击提交按钮,日期显示在导航面板中。单击按钮后,我有一个javascript函数,它将确定用户在哪个选项卡上,并将在MVC控制器中运行一个C#函数。我目前有两个函数DelayedSpiffDate,InstantSpiffDate。由于某些原因,即使选择了instantspiff选项卡,它也只会加载DelayedSpiffDate函数。我不确定我做错了什么?这是我的html:

<div class="row-fluid 1">
    <div class="col-lg-12 delayed_spiff_body">

        <div class="row spiff-datepicksection">
            <div class="col-lg-6 pull-right">
                <div class="col-sm-5 col-lg-offset-4">
                    <div class="form-group">
                        <div class="input-group date">
                            <input type="text" id="startDate" class="form-control" />
                            <span class="input-group-addon">
                                <span class="glyphicon glyphicon-calendar"></span>
                            </span>
                        </div>
                    </div>
                </div>
                <div class="col-lg-3">
                    <input class="spiffdate-btn" type="button" value="Submit" />
                </div>
            </div>
        </div>


        <div class="row spiff_tabs_body">
            <!-- Nav tabs -->
            <ul class="nav nav-tabs spiff_tabs" role="tablist">
                <li role="presentation" class="active">
                    <a href="#home" aria-controls="home" role="tab" data-id="delayedspiff" data-toggle="tab" onclick="FormGet('dashboard/delayedspiff', 'delayedspiff')">Potential Spiff</a>
                </li>
                <li role="presentation">
                    <a href="#profile" aria-controls="profile" role="tab" data-id="instantspiff" data-toggle="tab" onclick="FormGet('dashboard/instantspiff', 'delayedspiff')">Instant Spiff</a>
                </li>
            </ul>
            <!-- Tab panes -->
            <div class="tab-content">
                <div role="tabpanel" class="tab-pane active" id="delayedspiff"></div>
                <div role="tabpanel" class="tab-pane" id="instantspiff"></div>
            </div>
        </div>
    </div>
</div>
更新的javascript:

 $(".spiffdate-btn").click(function(){
var correctid = $(".tab-content .active").attr("id");
var startDate = $("#startDate").val();
if (correctid == "delayedspiff")
    $.get("@Url.Action("DelayedSpiffDate", "Dashboard")", { startDate: startDate });
else
    $.get("@Url.Action("InstantSpiffDate", "Dashboard")", { startDate: startDate });
});
$(".spiffdate-btn").click(function(){
   var correctId = $("ul.spiff_tabs li.active a").attr('data-id');
   console.log(correctId);

   var startDate = $("#startDate").val();

   if (correctId == "delayedspiff")
   {          
       $.get("@Url.Action("DelayedSpiffDate", "Dashboard")", { startDate: startDate });

   } else if (correctId == "instantspiff") {

       $.get("@Url.Action("InstantSpiffDate", "Dashboard")", { startDate: startDate });
   }       

}))

在这一点上更改代码,
FormGet
中的第二个参数错误,请将其从
delayedspiff
更改为
instantspiff

<ul class="nav nav-tabs spiff_tabs" role="tablist">
    <li role="presentation" class="active">
        <a href="#home" aria-controls="home" role="tab" data-id="delayedspiff" data-toggle="tab" onclick="FormGet('dashboard/delayedspiff', 'delayedspiff')">Potential Spiff</a>
    </li>
    <li role="presentation">
        <a href="#profile" aria-controls="profile" role="tab" data-id="instantspiff" data-toggle="tab" onclick="FormGet('dashboard/instantspiff', 'instantspiff')">Instant Spiff</a>
    </li>
</ul>

根据单击的选项卡,如果您想要它,那么您的目标是错误的项目。。。尝试将此作为您的“getter”:

var correctId = $("ul.spiff_tabs li.active a").attr('data-id');

检查您是否在条件之前的
correctid
add中获得了正确的id,例如
console.log(correctid)
。@ZakariaAcharki我没有在correctid上获得正确的id。即使选择了instantspiff选项卡,它也会显示delayedspiff。我得到了正确的ID。问题是$.get应该失败,因为第一个参数是多个字符串,而不是一个封装的字符串。@bran我不明白吗?您使用什么代码来获取正确的ID?谢谢你的帮助。查看我发布的最新答案。当我像你一样将其改为单引号时,我会收到一条歪歪扭扭的线条和错误消息。错误是字符文字中的字符太多。我不知道逃跑是什么?我对javascript非常陌生。好吧,我试过这个。现在,当我点击按钮时,什么都没有发生?我复制了新的javascript代码,其中包含了您在我的问题中提出的建议。我做错了什么?我在console.log中得到了正确的id。我不知道为什么它没有运行Url。尽管如此。它永远不会到达C代码。$.get(@Url.Action(\'DelayedSpiffDate\,\'Dashboard\'),{startDate:startDate});//试试看,那会给我扭曲的线条和错误。它似乎想要另一个),但我不确定放在哪里?马库斯我做了这个,但仍然不起作用。无论选择哪个选项卡,它都会运行delayedspiffdate函数。她没有发布formGet()的代码,因此我们不知道第二个参数在该函数中的作用。@Brant formGet()函数只是加载选项卡内的表单。这与我现在正在做的工作没有任何关系。这是我在评论中解释的。我认为在选项卡上设置
.active
。因为您的问题在这部分
var correctid=$(“.tab content.active”).attr(“id”)