2016-10-19 3 views
0

Ich habe ein <ein> tag:Href Customizing von jQuery

<a id="down" data-Id="" type="button" href="@Url.Action("InvestigatorDetailsDownload", "ClinicalRegistryManager")?investigatorId={data-Id}">download</a> 

Ich gründe dieses Attribut (Daten-ID) von jQuery:

function showInvDetails(id) { 

    $.ajax({ 
     url: "@Url.Action(" 
     method ", " 
     controller ")?investigatorId=" + id 

    }).done(function(data) { 
     if (data) { 
      console.log(id); 
      $('#down').data("Id", id); 
     } 
    }); 
} 

ich diese ID festlegen möchten in der href des a-tag, wie mache ich das?

+0

Sie meinen, ändern Sie die ID des Ankers? – Ted

+1

href muss eine ID übergeben, die in jquery gesetzt wird. –

+0

@Vispriya - Ich verstehe, dass Sie vielleicht neu sind, aber Ihre Frage macht keinen Sinn. Bitte versuchen Sie das Problem auf Englisch zu beschreiben. Bitte erläutern Sie auch, welche ID (Daten-ID) ** Ihnen ** bedeutet. – Ted

Antwort

1

Sie müssen das href Attribut als

aktualisieren

Beachten Sie auch, dass jQuery bei Verwendung von .data() internen Cache verwendet. Die Anweisung data(key) wird gelesen Standard Wert nur von data-key Attribut später wird es internen Cache verwenden. Die Anweisung .data(key, value) speichert Daten im internen Cache und aktualisiert DOM nicht.

+0

verwenden Bin ich falsch daran, dass nicht ein richtiger String-Wert? Für mich schreit dieser zweite String-Param bitte mir, ich verstehe, dass ich total falsch liegen könnte. Welche Syntax ist das? Wird @ Url.Action ("InvestigatorDetailsDownload", "ClinicalRegistryManager") durch eine Art Preprozessor ersetzt? –

+1

@DaveThomas, Ja 'Url.Action()' ist [tag: asp.net-mvc] Präprozessor. – Satpal

+0

Dies ist vollständige Spekulation in einer so unklaren Frage. Sie sollten versuchen, die eigentliche Frage zu beantworten oder um eine Klarstellung bitten – Ted

0
$('#down').data('Id', id); 

jQuery data() - Speicher, beliebige Daten, die mit dem angegebenen Elemente und/oder den Wert zurück, der festgelegt wurde.

data() Sie können es als ein vorstellen versteckt Attribut mit dem Anker verbunden, dass jQuery für Sie erstellt und können Sie den Wert zurück, wenn Sie es

müssen die tatsächlichen ID Sie verwenden müssen sich ändern attr() wie folgt aus:

$('#down').attr('Id', id); 
+0

'data()' erstellt ein _hidden_ ​​Attribut? Nein. JQuery verwendet den internen Cache zum Speichern beliebiger Daten, die mit element verknüpft sind. – Satpal

+0

du hast Recht, wird es nicht. Aber wie erklärst du das? ** Beliebige Daten speichern, die mit dem angegebenen Element verknüpft sind und/oder den Wert zurückgeben, der gesetzt wurde. ** an jemanden, der eine Frage wie diese stellt? "Daten-ID" bezeichnet normalerweise ein Attribut. auf jeden Fall, wer mehr Details will, der Link ist da – Ted

+0

@Satpal - du predigst zum choire. Der Link für Daten() ist bereits in meiner Antwort. Sie haben es gerade verpasst, wieder – Ted