0

这可能很简单,也可能是不可能的,但无论哪种方式,我都想通过 jquery 将表行名称传递给模式对话框表单。

$('.activate_modal').click(function(){

            var rowid = $(this).attr('name');

            $( "#dialog-form" ).dialog( "open" );

        });

我正在通过 PHP 动态创建行,单击时会打开一个 jquery 模式窗口,我需要将一个 id(var rowid)传递给表单,以便它知道哪些行正在调用该函数。这可能吗?

4

2 回答 2

2

您可以为此使用 jQuery 的data()方法。

IE

var rowid = $(this).attr('name');
$( "#dialog-form" ).data('rowID', rowid); // set the data to be passed
$( "#dialog-form" ).dialog( "open" );

当您需要访问该值时,您可以像这样访问它:

var passedInRowId = $( "#dialog-form" ).data('rowID'); // get the data that was passed

用于填写弹出窗口内显示的表单字段。

var rowid = $(this).attr('name'); $( "#dialog-form" ).data('rowID', rowid); // 设置要传递的数据

// 在显示对话框之前在此处填写 // 注意:如果这是唯一需要 rowid 的地方,则根本不需要使用 data() $('#yourformfield').val(rowid);

$("#dialog-form").dialog("open");

于 2012-12-14T02:00:32.960 回答
0

这应该更有帮助。

<?php $rowID = /* Do DB Query */; $rowMessage = /* Do DB Query */; ?>

<span class="activate_modal" data-rowID="<?php echo $rowID; ?>">Activate</span>

<div id="<?php echo $rowID; ?>" class="modal"><?php $rowMessage; ?></div>

<script>
    $(function(){
        $('.activate_modal').click(function(){
            var rowid = $(this).data('rowID');
            $('#'+rowid+'.modal').dialog('open');
        });
    });    
</script>
于 2012-12-14T02:28:11.330 回答