$('.weight').live('input',function() {
var t = $(this).attr('id').replace('weight-','');
var table_name = $('#table_name-'+t+' option:selected').val();
var quality_color_value = parseFloat($('#quality-color-'+t+' option:selected').attr('data-id').split('\`')[0]);
var diamond_weight = parseFloat($('#quality-color-'+t+' option:selected').attr('data-id').split('\`')[1]);
var diamond_pcs = parseFloat($('#diamond-pcs-'+t).val());
if(table_name == 1){
var diamond_weight = parseFloat($('#weight-'+t).val());
}
if(table_name == 2){
$('#weight-'+t).val(diamond_weight);
}
});
答案 0 :(得分:0)
从发布的重复链接引用:
从jQuery 1.6开始,.attr()方法为尚未设置的属性返回undefined。
我的猜测是你要搜索的属性未设置在 你正在寻找它的元素。因此,.replace失败了 因为undefined没有替换方法。你需要做 确定它没有先定义。
var current = $(this).attr('rel'); current = current ? current.replace('aboutitemremove_', '') : "";
也为下一个区域的id做这个。
How do I stop receiving: TypeError: $(...).attr(...) is undefined?