如何以此格式选择动态ID?

时间:2010-04-20 01:34:51

标签: javascript jquery

当用户在输入字段中输入内容时,我正在尝试选择动态ID。我的应用程序以下列格式吐出输入字段:

<input id="student_1_first_name" />
<input id="student_1_last_name" />

<input id="student_2_first_name" />
<input id="student_2_last_name" />

<input id="student_3_first_name" />
<input id="student_3_last_name" />

etc.

例如,我尝试这样做以选择id字符串的结尾:

<script type="text/javascript">
  $(document).ready(
  function (){
    $("input[id$=_first_name]").bind("keyup", run_some_function_here);
    run_some_function_here();
    $("input[id$=_last_name]").bind("keyup", run_some_function_here);
    run_some_function_here();
  }
);
</script>

当我这样做时,Jquery似乎无法选择输入ID,因此函数不会运行。您对我如何正确选择ID有任何想法吗?

2 个答案:

答案 0 :(得分:3)

为每个输入分配类,例如<input id="student_1_first_name" class="input-class" />

然后尝试这个

$(function() {
   $('input.input-class').each(function() {
       var id = $(this).attr('id');
   });
});

答案 1 :(得分:2)

$("input[id$=_first_name]")看起来应该有效。

这会给他们带红色边框吗?

$("input[id$=_first_name]").css({ border: '2px solid red' });

如果是,则可能无法正确调用该函数。您使用的是匿名函数还是将引用传递给现有函数?

更新

这是否按预期工作?

$("input[id$=_first_name]")
    .bind("keyup", function() {   run_some_function_here();   });