2016-05-18 20 views
1
<apex:form > 
<c:AutoCompleteV2 allowClear="true" importJquery="true" labelField="name" SObject="Quote_Line_Item__c" valuefield="name" targetField="6" style="width:175px" inputFieldId="Name" /> 
<input type="button" value="GET" id="0" onclick="myfunction($('input[id$=inputFieldId]').val());"/>  
<c:AutoCompleteV2 allowClear="true" importJquery="true" labelField="name" SObject="Quote_Line_Item__c" valuefield="name" targetField="5" style="width:175px" id="Name1"/> 
<input type="button" value="GET" id="0" onclick="myfunction($('input[id$=targetField]').val());"/>  
<c:AutoCompleteV2 allowClear="true" importJquery="true" labelField="name" SObject="Quote_Line_Item__c" valuefield="name" targetField="4" style="width:175px" inputFieldId="Name2"/> 
<input type="button" value="GET1" id="1" onclick="myfunction($('input[id$=valuefield]').val());"/>  
<c:AutoCompleteV2 allowClear="true" importJquery="true" labelField="name" SObject="Quote_Line_Item__c" valuefield="name" targetField="3" style="width:175px" inputFieldId="Name3"/> 
<input type="button" value="GET2" id="2" onclick="myfunction($('input[id$=valuefield]').val());"/>  
<c:AutoCompleteV2 allowClear="true" importJquery="true" labelField="name" SObject="Quote_Line_Item__c" valuefield="name" targetField="2" style="width:175px" inputFieldId="Name4"/> 
<input type="button" value="GET3" id="3" onclick="myfunction($('input[id$=SObject]').val());"/> 
</apex:form> 
<script> 
function myfunction(value){ 
alert(value); 
} 
</script> 

Wie kann ich Attributwerte in Javascript aufrufen?So rufen Sie Attributwerte zu JavaScript auf

Ich bekomme Fehler als undefiniert in der Alarmbox.

Ich möchte Call-Attribut kennen, um diesen Wert zu erhalten?

+0

myfunction ($ (. 'C: AutoCompleteV2') attr (Zielfeld)) versucht, aber nicht funktioniert –

+0

dann alle Einzelheiten in Ihrer Frage geben ..., hast du Erwähnen Sie nirgendwo 'brauchen Werte von c: AutoCompleteV2' ... –

Antwort

1

Zunächst glaube ich, dass Sie nicht wirklich das Auswerten von Code benötigen, der in Ihrem onclick-Attribut geschrieben ist. Schreiben Sie lieber einen Selektor in ein benutzerdefiniertes Attribut und machen Sie dann alles, was Sie in Ihrer Funktion wünschen. Aber wenn Sie das tun, was Sie gefragt haben, wirklich: (versuchen Get3)

for (var i = 0; i < document.getElementsByTagName("input").length; i++) { 
 

 
document.getElementsByTagName("input")[i].onclick = function(){ 
 
     alert(this.getAttribute("attribute"));    eval( this.getAttribute("attribute"));  
 
                  }; 
 

 
                     }
<apex:form > 
 
<c:AutoCompleteV2 allowClear="true" importJquery="true" labelField="name" SObject="Quote_Line_Item__c" valuefield="name" targetField="6" style="width:175px" inputFieldId="Name" /> 
 
<input type="button" value="GET" id="0" attribute="$('input[id$=inputFieldId]').val()"/>  
 
<c:AutoCompleteV2 allowClear="true" importJquery="true" labelField="name" SObject="Quote_Line_Item__c" valuefield="name" targetField="5" style="width:175px" id="Name1"/> 
 
<input type="button" value="GET" id="0" attribute="$('input[id$=targetField]').val()"/>  
 
<c:AutoCompleteV2 allowClear="true" importJquery="true" labelField="name" SObject="Quote_Line_Item__c" valuefield="name" targetField="4" style="width:175px" inputFieldId="Name2"/> 
 
<input type="button" value="GET1" id="1" attribute="$('input[id$=valuefield]').val()"/>  
 
<c:AutoCompleteV2 allowClear="true" importJquery="true" labelField="name" SObject="Quote_Line_Item__c" valuefield="name" targetField="3" style="width:175px" inputFieldId="Name3"/> 
 
<input type="button" value="GET2" id="2" attribute="$('input[id$=valuefield]').val()"/>  
 
<c:AutoCompleteV2 allowClear="true" importJquery="true" labelField="name" SObject="Quote_Line_Item__c" valuefield="name" targetField="2" style="width:175px" inputFieldId="Name4"/> 
 
<input type="button" value="GET3" id="3" attribute="console.log(1)"/> 
 
</apex:form>

oder jquery Version

$(document).ready(function() { 
    $("input").click(function() { 
    alert($(this).attr('attribute')); 
    $.globalEval($(this).attr('attribute')); 
}); 
}); 

Aber ich würde empfehlen Ihnen, Ihre Aufgabe zu überprüfen und verwenden Sie eine Struktur wie folgt: Eingabe erhält den Wert des Attributs des Elements mit ID = Name + Eingabe.ID

for (var i = 0; i < document.getElementsByTagName("input").length; i++) { 
 

 
document.getElementsByTagName("input")[i].onclick = function(){ 
 
        alert(document.getElementById("Name"+this.getAttribute("id")).getAttribute(this.getAttribute("attribute"))); 
 
                   }; 
 

 
                      }
<apex:form > 
 
<c:AutoCompleteV2 allowClear="true" importJquery="true" labelField="name" SObject="Quote_Line_Item__c" valuefield="name" targetField="6" style="width:175px" inputFieldId="Name" id="Name0"/> 
 
<input type="button" value="GET" id="0" attribute="inputFieldId"/>  
 
<c:AutoCompleteV2 allowClear="true" importJquery="true" labelField="name" SObject="Quote_Line_Item__c" valuefield="name" targetField="5" style="width:175px" id="Name1"/> 
 
<input type="button" value="GET" id="0" attribute="targetField"/>  
 
<c:AutoCompleteV2 allowClear="true" importJquery="true" labelField="name" SObject="Quote_Line_Item__c" valuefield="name" targetField="4" style="width:175px" inputFieldId="Name2" id="Name2"/> 
 
<input type="button" value="GET1" id="1" attribute="allowclear"/>  
 
<c:AutoCompleteV2 allowClear="true" importJquery="true" labelField="name" SObject="Quote_Line_Item__c" valuefield="name" targetField="3" style="width:175px" inputFieldId="Name3" id="Name3"/> 
 
<input type="button" value="GET2" id="2" attribute="SObject"/>  
 
<c:AutoCompleteV2 allowClear="true" importJquery="true" labelField="name" SObject="Quote_Line_Item__c" valuefield="name" targetField="2" style="width:175px" inputFieldId="Name4" id="Name4"/> 
 
<input type="button" value="GET3" id="3" attribute="importJquery"/> 
 
</apex:form>

jquery

$(document).ready(function() { 
    $("input").click(function() { 

     alert($("#Name"+$(this).attr('id')).attr($(this).attr('attribute'))); 

}); 
});