为隐藏的输入onclick赋值

时间:2017-03-01 20:39:19

标签: javascript jquery html css

出于设计原因,我希望在选择要查看的内容时点击var getVal = Request.Form["clickedInput"];(发布表单以查看数据),因此我在其中放入一些隐藏的输入,我想知道我是否可以给予onclick点击隐藏输入一个值,然后<li>获取我的AJAX页面上的值,这意味着它将在post上发送值,因为它也会在点击时发布。

但是我只想要点击的那个获取值,如果我点击<li>中的另一个标签,我希望第一个删除它的值,然后点击现在的输入来获取值?合理?

这是我的代码,包括 <form method="post" action="~/AJAXcalls/repinintAJAX.cshtml" name="form"> <div class="reportDateDiv"> <a class="blackColor fSize18 RPtxt">Reporting Period</a> <input type="text" name="inputDate" spellcheck="false" class="datepicker metricDateTextbox capitalFirst" onchange="mySubmit(this.form)" value="@inputDate" autocomplete="off" placeholder="@placeholderStartDate.ToString("MMM d, yyyy")" readonly="readonly" /> <a class="blackColor fSize16 RPtxt RPtxtTo">to</a> <input type="text" name="endDate" spellcheck="false" class="datepicker metricDateTextbox capitalFirst" onchange="mySubmit(this.form)" value="@endDate" autocomplete="off" placeholder="@noEndDate.ToString("MMM d, yyyy")" readonly="readonly" /> <select name="NormOrAvg" class="dwmViewSelect" onchange="mySubmit(this.form)"> <option selected=@(Request.Form["NormOrAvg"] == "1") value="1">Rep Per Set</option> <option selected=@(Request.Form["NormOrAvg"] == "2") value="2">Average Rep Per Set</option> </select> </div> <div class="holdLiftMenu"> <ul class="holdLiftMenuUL"> <li class="holdLiftMenuLI"> <a class="holdLiftMenuA total current">Total <input type="hidden" name="hid4" id="hid4" value="" /> </a> </li> <li class="holdLiftMenuLI"> <a class="holdLiftMenuA squat">Squat <input type="hidden" name="hid1" id="hid1" value="" /> </a> </li> <li class="holdLiftMenuLI"> <a class="holdLiftMenuA benchpress">Benchpress <input type="hidden" name="hid2" id="hid2" value="" /> </a> </li> <li class="holdLiftMenuLI"> <a class="holdLiftMenuA deadlift">Deadlift <input type="hidden" name="hid3" id="hid3" value="" /> </a> </li> </ul> </div> </form>

<li>

这是我的代码链接到 $(document).ready(function () { $(".total").click(function () { $("#piechart").show(); $("#piechartS").hide(); $("#piechartB").hide(); $("#piechartD").hide(); }); $(".squat").click(function () { $("#piechart").hide(); $("#piechartS").show(); $("#piechartB").hide(); $("#piechartD").hide(); }); $(".benchpress").click(function () { $("#piechart").hide(); $("#piechartS").hide(); $("#piechartB").show(); $("#piechartD").hide(); }); $(".deadlift").click(function () { $("#piechart").hide(); $("#piechartS").hide(); $("#piechartB").hide(); $("#piechartD").show(); }); }); ,到目前为止它只是隐藏/显示我的div,但是如果可能的话,我还希望在同一次点击中发生值assign / remove?

{{1}}

我不擅长js或jquery,但我猜测必须对脚本代码进行一些更改,因为目前click函数链接到a标记类而不是输入,但我会如果有可能,请在这里提供一些帮助。

我使用的是cshtml而不是MVC!

2 个答案:

答案 0 :(得分:1)

jQuery文档是你的朋友:http://api.jquery.com/val/

val()函数可以用这些方式:

var hiddenvalue = $("input[name=hid1]").val(); // returns input value
$("input[name=hid1]").val("NewVal"); // sets input value

只需将$("input[name=hid1]").val("NewVal");放在由click();

触发的匿名函数的末尾
$(".total").click(function () {
    $("#piechart").show()
    $("#piechartS").hide();
    $("#piechartB").hide();
    $("#piechartD").hide();
    $("input[name=hid1]").val("NewVal");
});

答案 1 :(得分:0)

我修改了您的代码以显示您可以在以后更改的文本字段。检查一下代码,它会使你的文本字段在点击时激活。我希望这会有所帮助:

$(document).ready(function () {

$('#prentUL li').click(function(){
$('#prentUL li input').val('');
 $(this).find('input').val('active');
});
            
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form method="post" action="~/AJAXcalls/repinintAJAX.cshtml" name="form">
            <div class="reportDateDiv">

                <a class="blackColor fSize18 RPtxt">Reporting Period</a>

                <input type="text" name="inputDate" spellcheck="false" class="datepicker metricDateTextbox capitalFirst"
                       onchange="mySubmit(this.form)" value="@inputDate" autocomplete="off" placeholder="@placeholderStartDate.ToString("MMM d, yyyy")" readonly="readonly" />

                <a class="blackColor fSize16 RPtxt RPtxtTo">to</a>

                <input type="text" name="endDate" spellcheck="false" class="datepicker metricDateTextbox capitalFirst"
                       onchange="mySubmit(this.form)" value="@endDate" autocomplete="off" placeholder="@noEndDate.ToString("MMM d, yyyy")" readonly="readonly" />

                <select name="NormOrAvg" class="dwmViewSelect" onchange="mySubmit(this.form)">
                    <option selected=@(Request.Form["NormOrAvg"] == "1") value="1">Rep Per Set</option>
                    <option selected=@(Request.Form["NormOrAvg"] == "2") value="2">Average Rep Per Set</option>
                </select>
            </div>
            <div class="holdLiftMenu">
                <ul class="holdLiftMenuUL" id="prentUL">
                    <li class="holdLiftMenuLI">
                        <a class="holdLiftMenuA total current">Total
                            <input type="text" name="hid4" id="hid4" value="" />
                        </a>
                    </li>
                    <li class="holdLiftMenuLI">
                        <a class="holdLiftMenuA squat">Squat
                            <input type="text" name="hid1" id="hid1" value="" />
                        </a>
                    </li>
                    <li class="holdLiftMenuLI">
                        <a class="holdLiftMenuA benchpress">Benchpress
                            <input type="text" name="hid2" id="hid2" value="" />
                        </a>
                    </li>
                    <li class="holdLiftMenuLI">
                        <a class="holdLiftMenuA deadlift">Deadlift
                            <input type="text" name="hid3" id="hid3" value="" />
                        </a>
                    </li>
                </ul>
            </div>
        </form>