2014-01-21 174 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元素。