在下面的html代码中..我有一个值选择的下拉框..现在我想填充它旁边的输入框..
我使用以下代码来完成它。但是如何填充相应的文本框..
var ty =$(".edata");
$(ty).children().find(".kt").html('').append('//Appending values to drop down');
for(var item in key_val_pair)
{
$(ty).children().find(".kt").removeAttr('selected')
$(ty).children().find(".kt option:eq("+item+")").prop('selected',true);
$(ty).children().find(".kt option:eq("+item+")").closest('.e_val').val(key_val_pair[item])
}
编辑:
Lets say key_val_pair="{\"1\":\"123\",\"4\":\"456\"}"
HTML
<div class="edata">
<span class="b1">
<select class="kt">
<option value="1">k1</option>
<option value="2" >k2</option>
</select>
<input type="text" placeholder="val" class="e_val"/>
</span>
<span class="b1">
<select class="kt">
<option value="3">k3</option>
<option value="4" >k4</option>
</select>
<input type="text" placeholder="val" class="e_val"/>
</span>
</div>
答案 0 :(得分:1)
这是考虑您希望使用从下拉列表中选择的选项填充最近的输入框:
<script>
key_val_pair = {
"1" : "123",
"2" : "321",
"3" : "999",
"4" : "456" };
$('.kt').on('change', function() {
$(this).siblings('.e_val')
.val( key_val_pair[ $(this).find('option:selected').val() ] );
});
</script>
答案 1 :(得分:0)
$(ty).children().find(".kt").next('input').val('you value');
答案 2 :(得分:0)
你的问题在于这一行:
$(ty).children().find(".kt option:eq("+item+")").closest('.e_val').val(key_val_pair[item])
nearest()仅查找祖先,因此您告诉它查找具有该选项的类'e_val'的祖先。你真的想要
$(ty).children().find(".kt option:eq("+item+")").parent().siblings('.e_val').val(key_val_pair[item])
转到(父),然后转到与'e_val'类相关的兄弟姐妹。