2012-08-29 63 views
0

一直在努力與這一個我試圖做的是從第一個文本中創建第二個隱藏輸入字段取決於選擇什麼這是什麼嘗試:如何追加一個隱藏的輸入與另一個輸入的文本

<script> 
    var $extraval = $('#citycode option:selected').text(); 
    var input = $("<input>").attr("type", "hidden").attr("name", "city").val("$extraval"); 
    $('#form').append($(input)); 
    </script> 

這是第一個選擇的模樣

<select id="citycode" name="citycode"> 
    <option value="3439389">Asuncion</option> 
    <option value="3439352">Bella Vista</option> 
    <option value="3439101">Ciudad Del Este</option> 
    <option value="3438735">Encarnacion</option> 
</select> 

所以基本上什麼即時試圖做的是建立與此選擇的文本2隱藏表單輸入時的輸入值submited

+0

你能提供一個jsfiddle嗎? – Asciiom

+0

我假設你的html中有一個id爲'form'的表單? :) – Asciiom

+0

此代碼在哪裏執行?它只能在DOM準備好後才能執行。 – Ohad

回答

2

假設它的內部#form,我發現了兩個錯誤:

  • 當您試圖設置input值傳遞$extraval作爲參數時,您不必使用"
  • 輸入已經是一個jQuery對象,所以追加它,你必須做到以下幾點:.append(input)

嘗試以下操作:

var extraval = $('#citycode option:selected').text(); 
var $input = $("<input>", { 
    'type': 'hidden', 
    'name': 'city', 
    'value': extraval 
}); 
$('#form').append($input); 

demo

2

.val($extraval)而不是.val("$extraval")。這不是PHP。

jsFiddle Demo(創建一個文本輸入,而不是隱藏 - 能見度目的)

此外,選擇'#form'預計在具有ID form你的代碼的形式。你可以得到形式的select是一部分使用的其中之一:

$('#citycode').closest('form').append(input); 

input.appendTo($('#citycode').prop('form')); 
2
<script> 
    var extraval = $('#citycode option:selected').text(); 
    var input = $("<input>").attr("type", "hidden").attr("name", "city").val(extraval); 
    $('#form').append($(input)); 
    </script> 

試試這個代碼

2

http://jsfiddle.net/pWkDR/。這是你應該做的

CODE:

var $extraval = "yourtext"; 
var input = $("<input>").attr("type", "hidden").attr("name", "city").val($extraval); 
$('body').append(input); 

// check in inspect element your hidden field is there with data 
+0

請不要只發布鏈接作爲答案。也張貼代碼的相關部分,也許是一個解釋。 – kapa

+1

更新了答案 – Ashirvad

0

確定,所以感謝所有幫助大家,這是我得到了它的工作

<script> 
    $('#form').submit(function() { 
    var extraval = $('#citycode option:selected').text(); 
    var $input = $("<input>", { 
    'type': 'hidden', 
    'name': 'city', 
    'value': extraval 
    }); 
    $('#form').append($input); 
}); 
</script> 

放置在底了表格很棒

相關問題