2010-05-14 264 views
6
$().ready(function() 
    { 
    $("#add").click(function() 
    { 
    var vals = $("#txtaddfeature").val(); 
    if(vals !='') 
     $('#FeatureLists').prepend('<option value="' + vals + '" selected="selected">' + vals + '</option>'); 
    $('#txtaddfeature').val(''); 
    }); 
    }); 

好如上jQuery的動態添加隱藏字段

$('#FeatureLists').prepend('<option value="' + vals + '" selected="selected">' + vals + '</option>'); 

我想創建一個與上面定義ID =瓦爾斯一個動態的隱藏字段,並設置其增值價值選擇列表後,輸入值在文本框中。我怎麼能做到這一點

+0

偏題 - 你使用的是什麼版本的jQuery? '$()。ready(...)'因爲'$()'不再使用'document'返回一個jQuery對象,所以如果你有jQuery 1.4,可能就不應該使用它了。相反,請執行'$(document).ready(...)',或者只是'$(function(){...})'。 – user113716 2010-05-14 12:20:48

+0

ok thx我會檢查我的代碼並將其更改爲 – maztt 2010-05-14 12:26:34

回答

20

我不能告訴你想要的到底是什麼。看起來好像你希望新隱藏的inputIDvalue的值爲vals。是對的嗎?

var $hiddenInput = $('<input/>',{type:'hidden',id:vals,value:vals}); 

然後,您可以將它追加到任意位置。

$hiddenInput.appendTo(selector); 

編輯:

對於澄清,selector是參照要追加新輸入的元素。

如果你想將其追加到body標籤,這樣做:

$hiddenInput.appendTo('body'); 

如果你想將其追加爲與類someClass的元素,這樣做:

$hiddenInput.appendTo('.someClass'); 
+0

$ hiddenInput.appendTo(selector); ,這裏的選擇器是什麼 – maztt 2010-05-14 12:38:58

+1

對不起,'selector'就是你想添加輸入的元素。例如,如果您鍵入「body」,它會將隱藏的輸入添加到主體。我會更新我的答案。 – user113716 2010-05-14 12:43:25

+1

爲什麼隱藏輸入上的'$'? – 2013-06-07 13:42:57

1

你可以這樣做:

$("input").attr("type", 'hidden').val($('#txtaddfeature').val()).appendTo('selector_here'); 
2

我會檢查看看它是否在頁面上,然後添加。

function SetHiddenInput(val) 
{ 
    var $txtaddfeaturehidden == $("#txtaddfeaturehidden"); 

    if ($txtaddfeaturehidden.length == 0) 
    { 
     $("input").attr({ 
      id : "txtaddfeaturehidden", 
      type : "hidden", 
      value : $('#txtaddfeature').val() 
     }).after('#txtaddfeature'); 
    } 
    else $txtaddfeaturehidden.val(val); 
}