2014-11-14 29 views
0

網絡編程的初學者。 我有以下的JavaScript和jquery追加動態股利。問題是函數select_click在傳遞參數時不會被調用;但是當沒有參數傳遞時被調用。 使用jquery從一個附加的div調用函數。通過jquery從附加div中傳遞函數值

<script type="text/javascript"> 
function select_click(icnt) { 
    alert("New Handler for .click() called."); 
} 

$(document).ready(function(){ 
    $('#submit_button').click(function() 
    { 
     var entry1="Name:Mickey"; 
     var entry2="Name:Mouse"; 
     var city1="From:Pune"; 
     var city2="To:Mumbai"; 
     var date="01/01/2015"; 
     $("#res").append('<div class="left_res" id="idx0" style="background:#236B8E;float:left;width:350px;text-align:left; padding:2px 2px;">'+entry1+'</div>'); 
     $("#res").append('<div class="right_res" id="idx1" style="background:#236B8E;float:right;width:350px;text-align:left; margin-right:0px;padding:2px 2px;">'+entry2+'</div>'); 
     $("#res").append('</br>'); 

     $("#res").append('<div class="left_res" id="idx2" style="background:#236B8E;float:left;width:350px;text-align:left;padding:2px 2px;">'+city1+' '+city2+'</div>'); 
     $("#res").append('<div class="right_res" id="idx3" style="background:#236B8E;float:right;width:350px;text-align:left; margin-right:0px;padding:2px 2px;">'+city1+' '+city2+'</div>'); 
     $("#res").append('</br>'); 

     $("#res").append('<div class="left_res" id="idx4" style="background:#236B8E;float:left;width:350px;text-align:left;padding:2px 2px;">'+date+'</div>'); 
     $("#res").append('<div class="right_res" id="idx5" style="background:#236B8E;float:right;width:350px;text-align:left; margin-right:0px;padding:2px 2px;">'+date+'</div>'); 
     $("#res").append('</br>'); 
     $("#res").append('<div>'+'</br>'+'</div>'); 

     $("#res").append('<div>'+'<a href="javascript:select_click(entry1);" class="tp" style="background:#236B8E;float:left;width:150px;text-align:left;padding:2px 2px;">'+'select'+'</a>'+'</div>'); 
     $("#res").append('<div class="right_res" id="idx6" style="background:#236B8E;float:right;width:350px;text-align:left; margin-right:0px;padding:2px 2px;">'+'select'+'</div>'); 

     $("#res").append('</br>'); 
     $("#res").append('<div>'+'</br>'+'</br>'+'</div>'); 

    }); 
}); 

+0

也許我錯過了,但我沒有看到你所調用的函數。將該呼叫添加到您的帖子,或者請重新格式化您的代碼,以便更容易找到。 – 2014-11-14 13:38:51

+0

@MikeC。 Ctrl + F是你的朋友:) – 2014-11-14 15:25:53

回答

0

條目1被傳遞文本,而不是您分配,因爲它的價值是不是在你的追加功能級聯變量的值。嘗試:

$("#res").append('<div>'+'<a href="javascript:select_click("' + entry1 + '");" class="tp" style="background:#236B8E;float:left;width:150px;text-align:left;padding:2px 2px;">'+'select'+'</a>'+'</div>'); 

但是,您的方法似乎有點缺陷。嘗試添加DIV的頁面作爲HTML - 然後操縱其內容和知名度對你submitton_button點擊:

<div id="divAfterSubmit" style="display:none;"> 
    <div class="left_res" id="idx0" style="background:#236B8E;float:left;width:350px;text-align:left; padding:2px 2px;"></div> 
    <div class="right_res" id="idx1" style="background:#236B8E;float:right;width:350px;text-align:left; margin-right:0px;padding:2px 2px;"></div> 
    <br/> 

    <div class="left_res" id="idx2" style="background:#236B8E;float:left;width:350px;text-align:left;padding:2px 2px;"></div> 
    <div class="right_res" id="idx3" style="background:#236B8E;float:right;width:350px;text-align:left; margin-right:0px;padding:2px 2px;"></div> 
    <br/> 

    <div class="left_res" id="idx4" style="background:#236B8E;float:left;width:350px;text-align:left;padding:2px 2px;"></div> 
    <div class="right_res" id="idx5" style="background:#236B8E;float:right;width:350px;text-align:left; margin-right:0px;padding:2px 2px;">'+date+'</div> 
    <br/> 

    <div><a id="linkToChange" href="#" class="tp" style="background:#236B8E;float:left;width:150px;text-align:left;padding:2px 2px;">select</a></div> 
    <div class="right_res" id="idx6" style="background:#236B8E;float:right;width:350px;text-align:left; margin-right:0px;padding:2px 2px;">select</div> 
    <br/> 
</div> 


$(document).ready(function(){ 
    $("#submit_button").click(function(e){ 
     var entry1 = "Name:Mickey"; 
     var entry2 = "Name:Mouse"; 
     var city1 = "From:Pune"; 
     var city2 = "To:Mumbai"; 
     var date="01/01/2015"; 

     var BothCities = city1 + ' ' + city2; 

     $("#idx0").html(entry1); 
     $("#idx1").html(entry2); 
     $("#idx2").html(BothCities); 
     $("#idx3").html(BothCities); 
     $("#idx4").html(date); 
     $("#idx5").html(date); 

     //You can set the href of the anchor tag by using its ID to access the element: 
     var hrefToSet = "javascript:select_click('" + entry1 + "');"; 
     $("#linkToChange").prop("href", hrefToSet); 


     //Alternatively, you could bind the onclick event of linktoChange: 
     $("#linkToChange").unbind("click"); //remove any previous bindings 
     $("#linkToChange").on("click", fucntion(e){ 
      e.preventDefault(); 
      select_click(entry1); 
      return false; 
     }); 

    $("#divAfterSubmit").css("display", "block"); 
    }); 
});