如何为克隆的下拉列表找到并设置正确的div

时间:2019-05-25 02:32:10

标签: php jquery debugging onclick

我有一个显示pdf下拉列表的插件。 (它在网站的不同页面上显示文件的不同列表。)

我需要克隆该插件,该插件始终包含在其页面的底部,以便相同的下拉列表也显示在其所在页面的顶部。可以和jquery一起使用。

问题是,尽管(克隆的)顶部下拉菜单工作正常,但是当您单击底部的“上载”按钮时,它会尝试使用顶部的选定选项。因此,无论您在底部下拉菜单中选择了哪个选项,底部上传按钮都会使用在顶部下拉菜单中选择的任何选项。

我有插件代码(如下所示),并希望添加一些代码来查找父div的唯一ID,并使用正确的下拉上下文/焦点。

尝试了很多代码,但并不真正了解php,因此请继续使用它。 我的第一个目标是在代码中找到正确的位置以更正焦点。所以我目前正在尝试使调试工作正常.....

PHP:

while ($rs = mysql_fetch_array($qry))
{   
    echo "<option value='{$rs[url]}|{$rs[target]}'>$rs[link_name]</option>";

    echo "<script type='text/javascript'>console.log('{$rs[url]}|{$rs[target]}');</script>";
}   

echo "</select> <input type='button' class='EZJumpMenuButton'  value=' Go ' onclick=\"javascript:goUrl('$val');\">";
echo "</div>";
?>

Javascript:

<script>    
    if(typeof goUrl != 'function') {
        function goUrl(id)
        {

         $(".EZJumpMenu").click(function() {
                console.log("this div (2) = " + $(this).parent().attr('id')); 
         });


            var str1= document.getElementById('link_url'+id+'').value;
            console.log("str1 = " + str1);   

            if(str1 != '')
            {
                var str = str1.split("|");
                console.log("str = " + str + "AKS");   

                if(str[1]=='_top') location.href= str[0];
                else if(str[1]=='_blank') {
                    mywin=  window.open (str[0],"mywindow");
                }
                else if(str[1]=='_self') {
                //      alert("link to : "+str[0]);
                    self.location.href = str[0];
                }
                else if(str[1]=='_parent') {
                    parent.location.href = str[0];
                }
                else if(str[1]=='frameset') {
                var linkto="http://<?=$_SESSION['docroot_url']?>/sohoadmin/plugins/JumpMenu/frameset.php?goto="+str[0];
                    mywin1=  window.open (linkto,"myframe");
                }
            }
        }
    }
</script>

循环中的第二个'echo'行是我的-试图显示php中此时发生的事情;它在下拉列表中显示了预期的pdf选项(例如http://xxx.co.nz/media/yyyy.pdf|_blank)。

函数 goUrl(id)似乎是实际显示所选pdf的内容。 注意:在测试顶部菜单时,var str包含正确的文件,但是在测试底部菜单时为空白。因此,我假设必须在调用goUrl之前设置上下文。

第一个jquery位是我的-它正确显示单击了哪个唯一div(botJumpMenu或topJumpMenu)。请注意,从克隆开始,有一些通用的类)


  1. 如何在php echo行中包含以下内容? (我认为这是我可能能够以某种方式设置正确的div的位置):

    $(this).parent().attr('id') 
    

    我尝试过:

    console.log('{$rs[url]}|{$rs[target]}|$(this).parent().attr('id')');
    

    但是它给出了一个错误。


  1. 我是否在正确的道路上进行工作,或者我缺少什么?

0 个答案:

没有答案