0

我在这里引导您完成一个过程:

第 1 步
1. 从下拉列表中选择产品
2. 用数据填充表单
3. 隐藏 ID 从所选项目
中获取产品 ID 4. Uploadify 被初始化并检索产品 ID。一个上传按钮被添加到表单。

步骤 2
1. 从下拉列表中选择新产品
2. 用数据重新填充表单
3. 隐藏 ID 从所选项目中获取新产品 ID
4. 初始化 Uploadify 并检索产品 ID。一个新的上传按钮被添加到表单中。

现在我被两个按钮困住了。不完全是我想要的。

我可以检查是否添加了按钮,因此不会重新初始化按钮,但是 Uploadify 脚本将不会检索新的产品 ID(我需要其他东西)。

有什么想法可以解决这个小问题吗?

这是我的上传功能:

function initUploadify()
{ 
    // If button is already added, do not add it again.
    // But this will not retrieve new productID.
    if( jQuery('#brand_btnBrowseLogoQueue').length < 1)
    {
        jQuery('#txtBoxFileName').css({'position':'relative', 'top':'-9px'});
        jQuery("#brand_btnBrowseLogo").uploadify({
            'uploader'       : 'wp-content/plugins/uploadify/uploadify.swf',
            'script'         : 'wp-content/plugins/uploadify/uploadify.php',
            'folder'         : 'brand',
            'fileExt'        : '*.jpg;*.jpeg;*.png',
            'auto'           : true,
            'multi'          : false,
            'method'         : 'POST',
            'height'         : '30',
            'width'          : '100',
            'buttonImg'      : 'path/to/img/btn_browse_101x30px.png',
            'scriptData'     : {'productID':jQuery("#productID").val()},
            onComplete       : function(event, queueID, fileObj, response, data) { 
                //This makes the json response readable                
                data = eval("(" + response + ")");
                //Update logo image
                setLogo(jQuery("#brandID").val(),data.fileName);
            }
        });
    }    
}
4

2 回答 2

1

如果您只需要更改productID这应该根据插件文档进行

//initialize uploadify when first product is selected
if( jQuery('#brand_btnBrowseLogoQueue').length < 1) {
   ...
} else {
    //uploadify already initialized just change the productId
    $("#brand_btnBrowseLogo").uploadifySettings(
        'scriptData',
        {'productID': jQuery("#productID").val()}
    );
}
于 2009-12-18T10:11:17.850 回答
0

您是否尝试过在创建新按钮之前删除上一个按钮?

if($('#brand_btnBrowseLogoQueue').length != 0)
    $('#brand_btnBrowseLogoQueue').remove();
于 2009-12-18T02:22:27.117 回答