如果另一个字段有文本,您如何要求字段?

时间:2014-05-29 03:15:24

标签: c# javascript jquery asp.net-mvc

使用javascript / jquery如何根据前面的输入是否有值来进行输入?

我有两个输入

 <div class="form-group">
                @Html.LabelFor(m => m.AdditionalIncomeAmt, new { @class = "col-sm-2 control-label" })
                <div class="col-sm-10">
                    <div class="col-sm-4">
                        @Html.TextBoxFor(m => m.AdditionalIncomeAmt, new { @class = "form-control", placeholder = "Additional Income Amount", id = "additionalIncome" })
                        @Html.ValidationMessageFor(m => m.AdditionalIncomeAmt)
                    </div>
                </div>
            </div>
            <div class="form-group">
                @Html.LabelFor(m => m.AdditionalIncomeSource, new { @class = "col-sm-2 control-label" })
                <div class="col-sm-10">
                    <div class="col-sm-4">
                        @Html.TextBoxFor(m => m.AdditionalIncomeSource, new { @class = "form-control", placeholder = "Additional Income Source", id = "additionalIncomeSource" })
                        @Html.ValidationMessageFor(m => m.AdditionalIncomeSource)
                    </div>
                </div>
            </div>

如果AdditionalIncomeAmt输入有值,我想要AdditionalIncomeSource。我尝试用!模型做这个,但它不是一个bool所以它没有用。

2 个答案:

答案 0 :(得分:1)

使用jquery你可以这样做:

$(function () {

$('#additionalIncome').keyup(function (){
    if($(this).val()==''){      
        $('#additionalIncomeSource').removeAttr('required');
    }
    else{
        $('#additionalIncomeSource').attr('required','required');
    }   

});
});

答案 1 :(得分:0)

我有同样的问题。这是一种彻底的痛苦,但在advice

之后,我几乎无法使其发挥作用

在底部,我将包含一些更好的资源,抱歉,我无法提供更多帮助。正如其他人所说,有更多的包可以做得更好。

需要注意的一点是,如果使用计算属性;因此,在getter计算一个值来确定需求时,你将不得不编写该逻辑来操纵该属性客户端。

示例:如果ParkingTicketNumber为&#34;停车&#34;,则需要TicketType。因此,您在RequiredIf上以第三个属性为条件抛出ParkingTicketNumber属性。如果TicketType ===&#34;停车&#34;。

,则第三个属性返回true

那将是伟大的服务器端,可怕的客户端。因此,您需要为第三个属性创建隐藏输入,然后编写一些jQuery / JavaScript以在TicketType更改时更改该值。

Mo互联网帮助: