如何检查两个javascript变量是否有所不同?

时间:2014-11-28 09:22:29

标签: javascript asp.net-mvc asp.net-mvc-5

所以我在我看来有这个网格:

@{
    var grid = new WebGrid(Model);
}
<div id="gridContent">

    <button type="button" id="createNewPredefinedView" style="margin-bottom: 20px;">@Html.Localize("createNew")</button>

    @grid.GetHtml(
mode: WebGridPagerModes.All,
columns:

    grid.Columns(
        grid.Column("PredefID", format: @<text>  <span class="display-mode" id="PredefViewID">@item.PredefineViewID </span> <label id="PredefID" class="edit-mode">@item.PredefineViewID</label> </text>, style: "col1Width"),


        grid.Column("", format: @<text>
        <img class="edit-table display-mode click_images" src="~/Images/edit.png" />
        <img class="delete-table display-mode click_images" src="~/Images/delete.png" />
        <img class="open-sensors display-mode click_images" src="~/Images/Sensor.png" />
        <img class="save-table edit-mode click_images" src="~/Images/save.png" />
        <img class="cancel-table edit-mode click_images" src="~/Images/cancel.png" />
        </text>, style: "col2Width", canSort: false),



        grid.Column("AmountOfSensors", @Html.Localize("amountOfSensors").ToString(), format: @<text>  <span class="display-mode" id="lblAmountOfSensors">  @item.SensorNo </span> <label id="AmountOfSensors" class="edit-mode"> @item.SensorNo </label> </text>, style: "col2Width", canSort: false)
     ))
</div>

使用这个java脚本我想检查var sensorNumber是否大于零,但由于这些是字符串,我只想看到它是一切但字符串“0”

$(".delete-table").on("click", function () {
    var tr = $(this).parents('tr:first');
    var sensorNumber = tr.find("#AmountOfSensors").html();
    var zero = "0"
    if ($(sensorNumber).val() !=  $(zero)) {
        alert("can't delete");
    }
    else { 
        //my delete code code goes here
    }
)};

但是这样,我的sensorNumber可以包含值“0”....它将完成if子句,其他值转到if也是好的,但我只想让它去如果它是一个“0”而没有别的东西。我有什么想法吗?

2 个答案:

答案 0 :(得分:1)

代码中的

$(zero)表示$("0")选择器,因此与$(zero)进行比较是没有意义的。此外,因为你有这个语法

var sensorNumber = tr.find("#AmountOfSensors").html();

然后sensorNumber实际上是您要与"0"进行比较的变量,因此您不需要使用$(sensorNumber).val()。假设sensorNumber始终包含整数,请将zero设置为整数,并使用parseInt函数确保您将两个整数进行比较,如下所示

var zero = 0;
if (parseInt(sensorNumber) != parseInt(zero)) 

或者根本不使用zero变量

if (parseInt(sensorNumber) != parseInt(0)) 

答案 1 :(得分:0)

当您在JavaScript中比较字符串或数字时,您不需要将它们包装到jQuery函数中。只需做一个简单的==检查。

if ($(sensorNumber).val() !=  zero) {
   alert("can't delete");
}