0

我的应用程序有一个包含一行的表和一个“添加”按钮,用于使用 jquery 的克隆方法添加更多行。这些行中的每一行都有两个使用 jquery 动态填充的选择框。

选择框的 ID 是动态生成的 (mark1, mark2, mark3, ...) 和 (model1, model2, model3, ...)。

我使用 for 循环来填充所有选择框,但这不起作用。这是我的代码:

for(count=1; count<=numRows; count++) { 

    $('#mark'+count).change(function(){

        $('#model'+count).load('findModel.php?mark='+$('#mark'+count).val());

    });

}

用jquery可以吗?

谢谢,马塞洛。

嗨 Simdrouin,我正在使用另一个脚本 (countRows.php) 来接收行数并将其再次传递给主脚本。

$.ajax({

    url: 'countRows.php',
    type: 'POST',
    data: { data : window.numRows },
    success: function (data) {

    $('#mark'+data).change(function(){

        $('#model'+data).load('findModel.php?mark='+$('#mark'+data).val()+'&numRows='+window.numRows);

    });

});

countRows.php

<?

$numRows=$_POST['data'];
echo $numRows;

?>

谢谢,马塞洛。

4

1 回答 1

0

您不能在更改事件中使用count变量。

这是一个 jsfiddle,它与 PHP 文件不完全一样,但可能会给您一些想法:

http://jsfiddle.net/Ex9pu/

我在 markX 选择中添加了一个 data-id 属性以供进一步参考:

$('#mark' + (i+1)).data('index', i);

然后在change事件中,可以引用它来获取对应的模型:

var index = $(this).data('index');

请注意,由于我无权访问您的 php 文件,因此我从数组中附加了内容。

于 2013-09-04T01:48:36.343 回答