[asp.net-mvc]不能包含在 jQuery 的方法

发布时间: 2016/10/9 6:09:15
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我开发在 MVC 中的应用。我想要找到是否数组包含由用户从下拉列表中选择的值。我有一个代码-

<div class="span10" style="margin-left:0px;">
    <a href="#" id="lnkAddProduct" style="font-size:14px;text-decoration:none;margin-right:10px;margin-left:30px;">Add Product</a>
    <span id="LinkErrorMsg" class="field-validation-error"></span>
</div>

和我的 jQuery 代码-

<script type="text/javascript">
$(document).ready(function () {         
    $('#lnkAddProduct').click(function () {
        var rIndex = $("select.clsProductId").length;       
        var ndate =  new Date();    
        var time = ndate.getMilliseconds();
        var IDD = rIndex + time;                           
        $('#ProductList').append("<div  class='span12' style='margin-left:0px' ><div class='span3'><select class='clsProductId '  name='ProductId' id='ddProductList_"+IDD+"' style = 'font-size:12px;width:200px;margin-right:10px;margin-left:20px;' onchange='get("+IDD+")'/> </div><span id='ProductIdValidation field-validation-error'></span><div id='ProductCode_"+IDD+"' class='span1'  style=' margin-left:30px;'></div><div id='Weight_"+IDD+"' class='span1' style=' margin-left:90px;'> </div><input type='text' id='Quantity_"+IDD+"'  name='Quantity' style='width:50px; margin-left:35px;' /> <a href='#' style='font-size:14px;text-decoration:none;font-weight:bold; margin-left:20px' id='lnkRemove_"+IDD+"' class='clsRemove'  onclick='removeElement(" + IDD+");'>X</a></div>");                
        getProductList(IDD);
    });        
});
function get(Index)
{  
    var productCode=$('#ddProductList_' + Index).val();  
    getProductDetails(productCode,Index)
}
function getProductDetails(productCode,Index)
{
    $.ajax({
        url: "/Product/getProductDetails/",
        data: { Id: productCode },             
        dataType: "json",
        success: function (result)
        {                           
            $('#ProductCode_'+Index).text(result.ProductCode);         
            $('#ProductName_'+Index).text(result.ProductName);           
            $('#Weight_'+Index).text(result.Weight);    
        }
    });
    CheckProductReapet();
}  
function CheckProductReapet() {
    var Count = document.getElementsByName("ProductId");
    var arrAptNumbers = new Array();
    for (var i = 0; i < Count.length; i++) {
        var s = Count[i].id;
        var productCode = $(s).val();
        var stringsplit = Count[i].id;
        var s = stringsplit.split("_")
        var Id = s[1];
        var nQuantity = $('#ddProductList_' + Id).val();                
        alert('nQuantity-'+nQuantity);
        if (arrAptNumbers.contains(nQuantity)) {
            $('#ProductIdValidation').text("Product Name should not be reapeted.")
        }
        else {
            arrAptNumbers.push(values[i].value);
            $('#ProductIdValidation').text("");
        }
    }
}     
</script>

在这里,我想检查如果 arrAptNumbers 包含值为 #ddProductList_ ,所以我给的代码-

if (arrAptNumbers.contains(nQuantity)) {
                $('#ProductIdValidation').text("Product Name should not be reapeted.")
            }

但是,它不会显示方法为 containsarrAptNumbers 。如何看待的?任何解决方案吗?

解决方法 1:

您可以使用 .indexOf() 来检查︰

if(arrAptNumbers.indexOf(nQuantity) > -1){
    $('#ProductIdValidation').text("Product Name should not be reapeted.")
}
赞助商