首先,我想检查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中是否为数字。
答案 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函数中传递key
和value
参数,这样你才能按值返回所有文本字段的值,这里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>