2012-11-17 121 views
1

如何爲隱藏的輸入字段添加值?在這種情況下,輸入被創建爲變量,如果需要,後者被插入到DOM中。代碼:JQuery - 爲隱藏的輸入添加值

<script> 
    var forma = $('form#mali_oglas'), 
    pomoc = $('div[role=pomoc]'), 
    div = $('.mali_oglas_pomoc'), 
    input = forma.find('input, textarea'), 
    code = forma.find('#code') 
    time_input = '<input type="hidden" name="time" />', 
    paid_input = '<input type="hidden" name="paid" value="1" />'; 

    $('textarea').autosize(); 

    input.on('click', function(e){ 
     var name = $(':input:focus').attr("name"); 
     pomoc.fadeOut('slow').promise().done(function(){ 
     div.find("[data-pomoc='" + name + "']").fadeIn('slow'); 
    }); 
    }); 


    code.on('focusout', function(){ 
     var url = '<?php echo base_url() ?>global_info/gi_get_payment_code', 
     kod = $(this).val(); 
if ($('input[name=paid]').length != 1) 
    { 
     $.post(url, {code : kod}, function(data){ 
      console.log(kod); 
      $('.mali_oglas_img_paid').slideDown('slow'); 
      code.next('.mali_oglas_greska').remove(); 
      code.after(time_input.val(data) + paid_input) 
      .css({'border' : '1px solid rgba(34,139,34,.5)'}); 
     }); 
    }; 
    }); 

    code.ajaxError(function() { 
    $(this).next('.mali_oglas_greska').remove(); 
    $(this).after('<p class=mali_oglas_greska>Uneti kod je pogresan.</p>').css({'border' : '1px solid rgba(255,0,0,.5)'}); 
}); 
</script> 

回答

1

您正在嘗試使用jQuery的方法對一個變量是簡單的HTML字符串

您可以轉換的變量一個包含它的jQuery對象元素$()

一旦一個對象是一個對象,就不能連接這兩個輸入,所以你需要反向插入

code.after(paid_input).after($(time_input).val(data)) 
/* should place "time_input" before "paid_input" 
+0

它正在像一個魅力。感謝您的幫助 :) – Sasha

2

您所呼叫的val方法的字符串,你應該先創建一個jQuery對象,更改:

time_input.val(data) 

到:

$(time_input).val(data) 

請注意,你不能連接一個對象與一個字符串,你應該調用after方法2次或使用add方法。

0

time_inputpaid_input都是字符串不是jQuery的對象,試試這個,而不是

time_input = $('<input type="hidden" name="time" />'), 
paid_input = $('<input type="hidden" name="paid" value="1" />');