如何找到值为x的td元素id?

时间:2014-01-15 07:38:03

标签: javascript jquery

我需要确切地找到包含值priview' 2'

的td行

我知道td行的前半部分ID,但它是动态的:MovementNumber_M_*(其中*可以是1到Milion)

因此需要搜索包含MovementNumber_M_1的{​​{1}}到MovementNumber_M_9999的所有行,并直接返回包含该值的td行ID。

你能帮帮我吗?谢谢你的建议。

保证正确且有帮助的答案;)

// EDIT

MovementNumber_M_*.value=2

OK值= 1适用于init,这就是为什么警告所有行但是如果值为2那么jq找不到他为什么? 函数DgIdOnClick是inicialized @

   function DgIdOnClick (e,r){  
var MovementNumber = document.getElementById(e).value;

//alert('MovementNumber: '+MovementNumber+' Type :'+r);

    var result = $('[id^="MovementNumber_M_"][value='+MovementNumber+']');
    result.each(function(){
        alert($(this).attr("id"));
    });
 }

函数DgIdOnClick在其他.js文件

如果我正在警告IN DgIdOnClick警报(document.getElementById(' MovementNumber_M_2')。value)// MovementNumber_M_2那么值是2但是jq没有找到它

4 个答案:

答案 0 :(得分:1)

这会警告包含该值的每行的ID

var result = $('[id^="MovementNumber_M_"][value="2"]');
result.each(function(){
    alert($(this).attr("id"));
});

http://jsfiddle.net/q8QaG/

更新

即使在输入更新

上,这也会警告所有输入的id值为2
$("#button").click(function(){

$('[id^="MovementNumber_M_"]').each(function(){
    var value = $(this).val();
    if(value == 2){
        alert($(this).attr("id"));
    }
});

});

http://jsfiddle.net/q8QaG/3/

答案 1 :(得分:0)

您可以使用Attribute Starts With Selector [name^="value"]Attribute Equals Selector [name="value"]

的组合
 var myElement= $("[id^='MovementNumber_M_'][value=2]");

根据评论,如果您需要ID,请使用attr()

 var myElementId = $("[id^='MovementNumber_M_'][value=2]").attr('id');

答案 2 :(得分:0)

$('#TableID').find('td').filter(':contains("SOME_TEXT")');

答案 3 :(得分:0)

前2个答案的字符串编码同样不正确。应该是这样的:

$('[id^="MovementNumber_M_"][value="2"]');
相关问题