2016-06-20 3 views
1

종이 버튼을 클릭했을 때이 용지 대화 상자를 열려고하지만 Chrome 외부에서 작업하고 싶지 않습니다. 나는 문제가 그것이 돔 반복에있다라고하는 사실과 관련이있다라고 느낀다. 그러나 당신이 나를 줄 수 있었던 어떤 도움이주게 될 것일 것을 대단히 인정할 것이다라고 확신하지 않는다. Safari에서 발생하는 오류는 "TypeError : dialog1.toggle()이 함수가 아닙니다 ('dialog1.toggle()'에서 'dialog1.toggle'이 정의되지 않음)"입니다. Firefox에서 방금 "TypeError : dialog1.toggle이 함수가 아닙니다." 여기 내 코드는 누군가가 올바른 방향으로 나를 가리킬 수 있기를 바랍니다.Polymer Paper 대화 상자가 Safari 또는 Firefox에서 열리지 않습니다.

<script src="../bower_components/webcomponentsjs/webcomponents.js"></script> 
<link rel="import" href="../bower_components/iron-ajax/iron-ajax.html"> 
<link rel="import" href="../bower_components/polymer/polymer.html"> 
<link rel="import" href="../bower_components/paper-item/paper-item.html"> 
<link rel="import" href="../bower_components/paper-button/paper-button.html"> 
<link rel="import" href="../bower_components/paper-dialog/paper-dialog.html"> 
<link rel="import" href="../bower_components/paper-dialog-behavior/paper-dialog-behavior.html"> 
<link rel="import" href="../bower_components/paper-dialog-behavior/demo/simple-dialog.html"> 
<link rel="import" href="../bower_components/paper-dropdown-menu/paper-dropdown-menu.html"> 
<link rel="import" href="../bower_components/paper-listbox/paper-listbox.html"> 
<link rel="import" href="../bower_components/paper-dialog-scrollable/paper-dialog-scrollable.html"> 
<link rel="import" href="../bower_components/iron-demo-helpers/demo-snippet.html"> 
<link rel="import" href="../bower_components/iron-demo-helpers/demo-pages-shared-styles.html"> 
</head> 
<body class="unresolved"> 


<template is="dom-bind"> 
<template is="dom-repeat" items="{{data}}"> 
<paper-button raised onclick$="dialog{{item.id}}.toggle()">{{item.series}} </paper-button> 
    <simple-dialog id$="dialog{{item.id}}"> 
    <h2>{{item.series}}</h2> 
    <p>{{item.data}}</p> 
    </simple-dialog> 
<br /> 
</template> 
<iron-ajax auto id="GetData" url="get_category_data.php" handle-as="json" last-response="{{data}}" ></iron-ajax> 
</template> 

</body> 
+0

왜'paper-dialog' 대신'simple-dialog'를 사용하고 있습니까? – a1626

답변

1

getElementById을 사용하면 정상적으로 작동하는 것 같습니다. 파이어 폭스에서 나를 위해 일한 코드는 다음과 같습니다. 희망 그것은 또한 사파리에서 작동합니다

<template is="dom-bind"> 
<template is="dom-repeat" items="{{data}}"> 
    <paper-button raised onclick$="toggleDialog({{item.id}})">{{item.series}}</paper-button> 
    <simple-dialog id$="dialog{{item.id}}"> 
    <h2>{{item.series}}</h2> 
    <p>{{item.data}}</p> 
    </simple-dialog> 
    <br /> 
</template> 
<iron-ajax auto id="GetData" url="get_category_data.json" handle-as="json" last-response="{{data}}" ></iron-ajax> 
</template> 
<script> 
function toggleDialog(id){ 
    var dialog = document.getElementById('dialog'+id); 
    dialog.toggle(); 
} 
</script> 

1

된 스레드하지만 난 Polymer1.0

<div> 
    VAT check date: <paper-button value="paperbuttontest" raised on-tap="_paperDialogButtonEdit">{{buyer1.vat_check_date}}</paper-button> 
    <paper-dialog id="vat_check_date_dialog_edit"> 
     <calendar-lite name="date.buyer1.vat_check_date" min-date="2017,3,1"></calendar-lite> 
    </paper-dialog> 
</div> 

과 고분자

_paperDialogButtonEdit: function (event) { 
//console.log(" event.target = ",event.target.getAttribute('value')); 
var dialog = document.getElementById('vat_check_date_dialog_edit'); 
dialog.toggle(); 
}, 
을 위의 변화를 추가 할 것