2011-10-25 18 views
0

我有一个动态生成的多个选择/输入对,与生成的ID集合。jQuery .change动态生成的名称/ ID匹配的多个项目的值

剥离下来:

<?php foreach ($products as $product) { ?> 
    <select id="option_<?php echo $matching_id; ?>"> 
    <?php foreach ($options as $option) { ?> 
     <option title="<?php echo $inputvalue ?>"></option> 
    <?php } ?> 
    </select> 
    <input id="update_<?php echo $matching_id; ?>" type="text" value="" /> 
<?php } ?> 

我有这样的jQuery与title属性更新输入字段(必须使用标题,因为需要别的东西的价值属性)所选择的选项:

$(document).ready(function() { 
    $('select').change(function() { 
    $('input').val($(this).find("option:selected").attr("title")); 
    }); 
}); 

当然这是错误的。无论哪个选择框被更改,它都会使用相同的值更新所有输入字段。

我只需要具有匹配ID号码的输入框进行更改。 $ matching_id变量总是一个数字,如果这是相关的。

一些有帮助的人能指引我朝着正确的方向吗?

回答

0
$(document).ready(function() { 
    $('select[id^="option_"]').change(function() { 
     $('input[id="update_' + $(this).attr('id').replace('option_', '') + '"]').val($(this).find("option:selected").attr("title")); 
    }); 
}); 

仅选择select■当他们开始id"option",不需要$matching_id是数字的,一定。

+0

非常感谢! – chanie

0
$(function(){ 
    $('select').change(function(){ 
     $('#update_' + $(this).attr('id').replace(/\D/g,'')).val($(this).find("option:selected").attr("title")); 
    }); 
}); 

如果任何选择的变化,这是不言而喻和查找元素[输入]用id“update_”加上其自己的ID的数字部分,并且设置其值等于所选择的选项的标题。

+0

非常感谢! – chanie

相关问题