2014-01-21 263 views
0

我想通過名稱選擇器或ID從每個選擇字段中獲取值,並再次通過名稱選擇器或ID將該值輸入到輸入文本字段中。jQuery更改選擇字段填充輸入文本字段

注意在ID結尾的0可以從0到++數字向上計數。我希望將此選擇字段的值輸入到值更改的輸入文本字段中。

<select name="option_tree[orn_category_background][0][orn_cat_bg_select]" id="orn_category_background_orn_cat_bg_select_0" class="option-tree-ui-select "> 

<input type="text" name="option_tree[orn_category_background][0][title]" id="orn_category_background_title_0" value="VALUE FROM SELECT HERE" class="widefat option-tree-ui-input option-tree-setting-title"> 

回答

1

你可以使用jQuery選擇一樣,這樣做:

$("select[id^='orn_category_background_orn_cat_bg_select_']").change(function() { 
    var $this = $(this), 
    idNum = $.attr("id").split("_").pop(); //get the last num 0, 1, etc 
    $("input[id='orn_category_background_title_"+idNum+"']").val($this.val()); 
}); 

演示::​​

+0

我在document.ready中調用了這個函數,並給了我這個錯誤 'Uncaught TypeError:Object function(e,t){return new x.fn.init(e,t,r)}沒有方法'split' ' –

+0

@JetonR。你可以發佈你的代碼以及有問題,因爲它似乎在jsfiddle中正常工作,正如我的答案中所述。 –

+0

我在選項樹插件的WordPress管理面板中使用了這個功能。這是否需要比jQuery更多的東西? –

0

這裏是你可以定製你的需求的簡單方法。

HTML部分

<select name="option_tree[orn_category_background][0][orn_cat_bg_select]" id="orn_category_background_orn_cat_bg_select_0" class="option-tree-ui-select getOption"> 
    <option value="1">1</option> 
    <option value="2">2</option> 
    <option value="3">3</option> 
</select> 
<input type="text" name="option_tree[orn_category_background][0][title]" id="orn_category_background_title_0" class="widefat option-tree-ui-input option-tree-setting-title returnValue"> 

jQuery的部分

$('.getOption').change(function() { 
    $("select option:selected").each(function() { 
     $('.returnValue').val($(this).text()); 
    }); 

}); 

記住新類添加到您的HTML元素。