2016-06-20 11 views
1

紙のボタンをクリックしたときにこの用紙のダイアログを開こうとしましたが、Chromeの外では動作しないようです。私は、問題はそれがドンリピートであるという事実と関係しているように感じますが、あなたが私に与えることができるどんな助けも大いに評価されるとは思えません。 Safariでエラーが発生しました。 "TypeError:dialog1.toggle()は関数ではありません( 'dialog1.toggle()'では 'dialog1.toggle'は定義されていません)。 Firefoxでは私はちょうど "TypeError:dialog1.toggleは関数ではありません"を得ました。ここに私のコードは、私は誰かが正しい方向に私を指すことができることを願っています。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を使用するとうまくいくようです。ここで私のために働いたコードはFirefoxです。うまくいけば、それはまた、Safariで

<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(); 
}, 
中のため、上記のこのバリエーションを追加します
関連する問題