在javascript

时间:2016-10-06 10:18:38

标签: javascript php

首先,我想检查textfield中的给定值是否为Number。

但是我有很多文本字段,数字取决于来自php& yii的动态值,如下所示

<?php foreach($model->getData() as $donation){  ?>
     Donation For <?php echo  $donation['DonationName'];?>
     <label><b>$</b> <input class="textfld3" style="width:75%" title="First Name" placeholder="Amount" type="text">
    </label>
<?php } ?>

所以我想在js中获得textfield或textfields的值..

我还使用了jsfunction作为

var texts= $(".textfld3").map(function() {
   return $(this).val();
}).get();
alert(texts);

但所有值都显示在警告框中以及逗号

如何获取textfiled或textfields的值以检查js中是否为数字。

3 个答案:

答案 0 :(得分:2)

使用$(".textfld3").each(function() {循环遍历所有文本字段,并逐个查找textfield的值。如果具有非数字值的文本字段显示警告消息,则将关注该文本字段。

$(".textfld3").each(function() {
   var currentVal = $(this).val();
   if(isNaN(currentVal)){
        alert("Please enter numeric value");
        $(this).focus();
        return false;
   }
});

答案 1 :(得分:1)

从快速查看代码,它在我看来,texts是一个数组,所以你可以运行这个数组

var texts= $(".textfld3").map(function() {
       return $(this).val();
    }).get();
for ( var i = 0; i < texts.length; i++ ) {
 alert(texts[i]);
}

答案 2 :(得分:1)

你必须在map函数中传递keyvalue参数,这样你才能按值返回所有文本字段的值,这里ele变量是值,它是引用的一个元素类选择器

$("#btn").click(function(){
var texts= $(".textfld3").map(function(key,ele) {
       return $(ele).val();
       //return ele.value
    }).get();
    console.log(texts);
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<label><b>$</b> <input class="textfld3" style="width:75%" title="First Name" placeholder="Amount" type="text">
    </label>
<hr>
<label><b>$</b> <input class="textfld3" style="width:75%" title="First Name" placeholder="Amount" type="text">
    </label>
<hr>
<label><b>$</b> <input class="textfld3" style="width:75%" title="First Name" placeholder="Amount" type="text">
    </label>
<hr>
<label><b>$</b> <input class="textfld3" style="width:75%" title="First Name" placeholder="Amount" type="text">
    </label>
<hr>
<button id="btn"> Get Values</button>