2014-10-30 52 views
-1

如何将复选框值打印到输入字段中?如何将复选框值打印到输入字段值

它几乎带来的价值,但不是在输入字段,使用div或跨度将工作,但我需要在输入字段。

这里是我的代码:http://jsfiddle.net/QYyD2/279/

$(function() { 
 
    $(":checkbox").change(function() { 
 
    var arr = $(":checkbox:checked").map(function() { return $(this).val(); }).get(); 
 
    $("#myVal").text(arr.join('/')); 
 
    }); 
 
});
label { display: block; } 
 
.rowSelected { background-color: #eee; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 
 

 
<input value="bangalore" type="checkbox" /><label>Bangalore</label> 
 
<input value="chennai" type="checkbox" /><label>Chennai</label> 
 
<input value="pondy" type="checkbox" /><label>Pondy</label> 
 

 
<input type="text" id="myVal" value="">

问候 RMK

+0

欢迎来到SO。你应该在这里发布你的代码。 – 2014-10-30 12:30:09

回答

0

而不是使用jQuery .text(text)函数,您应该使用.val(value)功能的文本输入。

.text(text)函数用于定义元素的文本内容;例如开始标签和结束标签之间的纯文本(元素的“内容”,但没有嵌入任何可能嵌入的HTML)。由于input标签是自闭的,因此它没有任何文本内容。

相比之下,.val(value)函数用于设置元素的HTML“value”属性,而不是文本内容。这是指定将显示在文本输入内的文本的正确方法。

有关.val(value)函数的完整说明,请参阅jQuery documentation

描述:设置匹配元素集中每个元素的值。此方法通常用于设置表单域的值。

这是您的代码的工作版本,考虑到上述变化。

$(function() { 
 
    $(":checkbox").change(function() { 
 
    var arr = $(":checkbox:checked").map(function() { return $(this).val(); }).get(); 
 
    $("#myVal").val(arr.join('/')); 
 
    }); 
 
});
label { display: block; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 
 

 
<input value="bangalore" type="checkbox" /><label>Bangalore</label> 
 
<input value="chennai" type="checkbox" /><label>Chennai</label> 
 
<input value="pondy" type="checkbox" /><label>Pondy</label> 
 

 
<input type="text" id="myVal" value="">

0

试试这个

$(function() { 
    $(":checkbox").change(function() { 
    var arr = $(":checkbox:checked").map(function(){ 
     get_value = $(this).val(); 
     $("#myVal").val(get_value); 


    }); 
}); 
}); 
0

添加名称,如姓名=“城市每个复选框“

SCRIPT:

$(函数(){$ ( “:复选框”。)变化(函数(){

var cities = $('input:checkbox[name=city]:checked').map(function() { 

回报THIS.VALUE; })。get();

var arr = cities.join('\\'); 
    // alert(arr); 

$(“#myVal”)。val(arr);

}); });

+0

我认为这里的重要部分(OP被误解的部分)是使用'.val()'而不是'.text()',因为文本输入具有定义其内容的“值”属性。 – 2014-10-30 13:20:14

0

你可以看到这里的工作副本:http://jsfiddle.net/QYyD2/336/

在你的JS代码替换$("#myVal").text(arr.join('/'));$("#myVal").val(arr.join('/'));

相关问题