没有拾取动态jquery val()的Javascript循环

时间:2010-12-13 09:47:12

标签: javascript jquery loops

我正在尝试使用jquery选择输入框的值。 没有probs那里

$('#id_of_my_input_box_1').val();

但我需要几个,所以决定将它们放入循环中:

============

var config_total_instances = '==some value='

for (var x = 1; x <= config_total_instances; x++) {

    if (isset($('#id_of_my_input_box_'+x).val())) {

        alert($('#id_of_my_input_box_'+x).val());

    }

}

============

如果我提交表单并且我有10个输入框,如果相关输入框有值,则上面的代码不会提醒值。 我正在使用下面的函数来检查值。

============

function isset(my_variable) {

    if (my_variable == null || my_variable == '' || my_variable == undefined)

        return false;
    else
        return true;
}

============

我错过了一些至关重要的东西......? : - (

另外:我想补充一点,我问为什么我没有得到它的价值 $( '#id_of_my_input_box _' + X).VAL() 在我的警报框中回响

4 个答案:

答案 0 :(得分:0)

不要将我的信息视为答案,更多的是提示。 对于更简单的代码,您可以考虑在需要检查的文本框中添加一个类。 例如,添加到检查class =“sample”所需的所有输入,你可以使用jquery选择器$(“。sample”),返回所有项目然后你可以简单地做 $(“。sample”)。计算项目的长度和$(“。sample”)[0] .val()(或类似)获取/测试值。

干杯

答案 1 :(得分:0)

扩展@ Faber75的答案。您可以为所有文本元素设置类名,然后使用类似

的内容
$("input:text.clsname").each(function(){
    if (isset(this.value)) {
        alert(this.value);
    }
});

如果您要将字符串分配给config_total_instances,则在当前代码中,它将无效。

答案 2 :(得分:0)

你试过这个吗? (注意有三个=)

if (my_variable === null || my_variable == '' || my_variable === undefined)

作为替代尝试

if (typeof(my_variable) == 'null' || my_variable == '' || typeof(my_variable) == 'undefined')

答案 3 :(得分:0)

也许我误解了,但是你不能只是<input> <form>中的所有:empty$('form#some_id input:not(:empty)').each(function () { // do something with $(this).val() now that you have // all the non-empty <input> boxes? }); 如果这是你的最终目标那么<input>重新尝试完成?

$('form#some_id').submit(function (e) {
     if ($(this).find('input[type="radio"]:not(:checked), input[type="text"][value=""], select:not(:selected), textarea:empty').length > 0) {
         e.preventDefault(); // stops the form from posting, do whatever else you want
     }
});

或者,如果您只想告诉用户是否留下了一些{{1}}空白,请执行以下操作:

{{1}}

http://api.jquery.com/category/selectors/form-selectors/