2016-09-19 3 views
0

Gibt es eine Möglichkeit, ein Papiereingabeelement basierend auf einer Javascript/jQuery-Funktion zu aktualisieren? Ich kann die alte Eingabe aktualisieren, indem ich auf den Link klicke, aber ich kann nicht herausfinden, wie man den alten Eingabewert an den neuen Papiereingabewert bindet oder einfach den neuen Papiereingabewert mit einer normalen Funktion aktualisiert.Polymereingabewert auf Nicht-Polymer-Eingabewert

<!-- polymer element loads in shadow DOM --> 
<my-form> 
    <paper-input id="id1" name='id1' value="{{val1}}" onmouseover="this.value=getId1Value();"></paper input> 
    <a href="#" onclick='myJavascriptFunction(1)' id='relativeValue1'>Subtract 1</a> 
    <a href="#" onclick='myJavascriptFunction(2)' id='relativeValue2'>Subtract 2</a> 
</my-form> 
<!-- end polymer element --> 

<!--HTML input element in light DOM --> 
<input type="text" id="id1" name="id1" value="{{val1}}" /> 
<!-- end HTML input element --> 

hier Dann ist das Skript und Polymerinfo:

Polymer({ 
    is: 'my-form', 
    properties: { 
    val1: { 
     type: String, 
     value: getId1Value(); 
    } 
    } 
}); 
function getId1Value(){ return $$("#id1").val();} 
function myJavascriptFunction(val){ 
    $$("[name='id1']").val(evaluate(val));//evaluate returns a calculation based on val) 
} 
+0

Wenn Sie versuchen, Bindungen zu verwenden? Vielleicht können Sie versuchen, einige Eigenschaften zu '' hinzuzufügen und dann in den Wert '' zu aktualisieren und direkt zu binden – Dmitry

Antwort

0

Dies ist nicht genau das, was ich im Sinn hatte, aber die Wirkung (Syncing/Bindung mehrere Eingänge) zu erreichen, habe ich

<a href="#" onclick="document.querySelector('my-form::shadow #id1').value = myJavascriptFunction(1)">1</a> 

und

function myJavascriptFunction(val){ 
    $$("[name='id1']").val(evaluate(val));//evaluate returns a calculation based on val) 
    return evaluate(val); 
} 

In dieser Instanz hat myJacascriptFunction nicht nur den alten Eingabewert manuell festgelegt, sondern auch den Wert zurückgegeben, der in Verbindung mit dem Ereignis onclick der Verknüpfung verwendet werden soll. Meine Lösung zielte also auf das Schatten-DOM mit document.querySelector() und die Anpassung meiner JavaScript-Funktion, um den alten Eingabewert festzulegen und den gleichen Wert zurückzugeben.

Verwandte Themen