-1

我有循环生成的表单,所以元素的名称是相同的。这就是我想使用 $(this) 来访问它们并进行比较的原因。但到目前为止还没有成功,任何想法我怎么能。仅供参考,我是 Jquery 的新手,任何帮助表示赞赏:)

<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">

$("form").submit(function() {

 if ($(this).children("#textbx").val() < $(this).children("#comparetobox").val() ) {

    $("span").text("Validated...").show();
    return true;


  }

    $("span").text("Not valid!").show().fadeOut(1000);
  return false;
});

</script>

<form id='userbid'  name='userbid'  method=post>
<input type="text" name="textbx" id="textbx">
<input type="text" name="comparetobox" id="comparetobox">
<span></span>
<input type="submit" value="save" name="submit">
</form>
<!-- Form is in loop so can be generated N no of times -->
<form id='userbid'  name='userbid'  method=post>
<input type="text" name="textbx" id="textbx">
<input type="text" name="comparetobox" id="comparetobox">
<span></span>
<input type="submit" value="save" name="submit">
</form>
4

2 回答 2

0

我不知道您如何比较input框的值,但这是有效的 JavaScript 代码:

$("form").submit(function() {
    if ($(this).children(".textbx").val() < $(this).children(".comparetobox").val()) {
        $(this).children("span").text("Validated...").show();
        return true;
    }
    $(this).children("span").text("Not valid!").show().fadeOut(1000);
    return false;
});

请注意,元素的 ID 应该是唯一的。改用类(例如.textbx)。

于 2012-05-15T12:35:37.797 回答
0

在第二个输入中你有'is'而不是'id',这可能是你的问题。

于 2012-05-15T12:37:25.210 回答