2014-09-22 41 views
0

是否有执行父功能并影响jQuery移动对话框窗口内的父变量?从jquery移动对话框窗口执行父功能

[编辑补充CODE]

在用户敲击链接的对话框,其是在父:

<a href="options-window.php" data-rel="dialog" id="dlg-options-window"></a> 

然后被带到对话框,像这样(sliderOneVal和sliderTwoVal在变量创建并由家长填写):

<div id="option-window" data-role="page"> 
<script type="text/javascript"> 

$('#layer-window').on('dialogcreate', function(event, ui){ 
    $('#sliderOne').val(sliderOneVal); 
    $('#sliderTwoOption').val(sliderTwoVal);  

    $('.sliderSelector').bind('change', sliderClicked());  

}); 
</script> 
     <div data-role="header" data-theme="d"><h5>Options</h5></div> 
     <div data-role="content"> 
      <fieldset data-role="controlgroup" data-type="vertical" data-role="fieldcontain"><table> 
      <tr> 
       <td><select name="sliderOne" id="sliderOne" class="sliderSelector" data-theme="" data-role="slider" data-mini="true"> 
        <option value="off">Off</option> 
        <option value="on">On</option> 
       </select></td> 
       <td><label for="sliderOne">Option One</label></td> 
      </tr> 
      <tr> 
       <td><select name="sliderTwo" id="sliderTwo" class="sliderSelector" data-theme="" data-role="slider" data-mini="true"> 
        <option value="off">Off</option> 
        <option value="on">On</option> 
       </select></td> 
       <td><label for="sliderTwo">Option Two</label></td> 
      </tr> 
      </table></fieldset> 
     </div> 
</div> 

,这里是sliderClicked(),这是它获得的父文档中的滑块被点击和当前值,然后相应地改变相应的变量的值:

function sliderClicked(){ 
    sliderVal = $(this).val(); 
    sliderID = $(this).attr("id"); 


    if(sliderVal=="on" && sliderID=="sliderOne"){ 
     sliderOneVal="on"; 
    } else if(sliderVal=="off" && sliderID=="sliderOne"){ 
     sliderOneVal="off"; 
    } 

    if(sliderVal=="on" && sliderID=="sliderTwo") { 
     sliderTwoVal="on"; 
    } else if(sliderVal=="off" && sliderID=="sliderTwo"){ 
     sliderTwoVal="off"; 
    } 
    console.log('sliderOneVal:'+sliderOneVal); 
    console.log('sliderTwoVal:'+sliderTwoVal); 
} 
+0

如果你正在使用标准的ajax导航模型,一切都在同一个页面中,所以是的。 – ezanker 2014-09-22 17:39:36

+0

我相信我,但它似乎并没有工作 – VikingGoat 2014-09-22 17:46:52

+0

有什么特别的,我可能需要做的事情,如flipswitches在对话框中? – VikingGoat 2014-09-22 17:49:09

回答

0

我需要移动的功能sliderClicked到同一个文件对话框页面,并有改变的JavaScript这样的:

$(document).delegate('#option-window', 'pageinit', function() { 
    $('#sliderOne').val(sliderOneVal).slider("refresh"); 
    $('#sliderTwoOption').val(sliderTwoVal).slider("refresh"); 

    $('.sliderSelector').bind('change', sliderClicked); 
});