将值分配给文本框

时间:2011-08-05 08:54:51

标签: javascript jquery

您好我有一个单选按钮(StarRating radiobutton使用jquery)和一个文本框。当我点击星号时,我希望radiobutton值显示在文本框中。

<input id="InsRating1" class="star" type="radio" name="InsRating" value="1" title="Worst"/>
<input id="InsRating2" class="star" type="radio" name="InsRating" value="2" title="Good"/>

我尝试将Onclick()放入,但是onClick()从未被解雇过。 请告知如何从我的radiobutton获取值到文本框。谢谢

我在下面尝试了这个,但值是“Undefined”

$(document).ready(function() {

    $('#InsRating1').click(function() {
        alert(this.value)

    });

});

------------- ----------编辑
我在下面使用g_thom的答案但是遇到了这个问题: 我有3组带3个文本框的星星。每个评级应仅显示1个文本框。 但是,无论何时单击任何星形,它都会显示所有3个文本框的值,而不是仅指定的一个。请指教。感谢

<script type="text/javascript">

$(function(){
    $('。star-rating')。click(function(){         //将“total stars”的值分配给id为ratingText的文本框         $( '#EvaluationInstructorRatingTextBox')VAL($( '星级评定上。')长度);。
    });     $('。rating-cancel')。click(function(){         //单击取消按钮时,该值为“0”         $( '#EvaluationInstructorRatingTextBox')VAL( '0')。     });

$('.star-rating').click(function() {
    // assign the value of "total stars" to a textbox with an id of ratingText
    $('#EvaluationMaterialRatingTextBox').val($('.star-rating-on').length);
});
$('.rating-cancel').click(function() {
    // the value is '0' when the cancel button is clicked
    $('#EvaluationMaterialRatingTextBox').val('0');
});


$('.star-rating').click(function() {
    // assign the value of "total stars" to a textbox with an id of ratingText
    $('#EvaluationValueRatingTextBox').val($('.star-rating-on').length);
});
$('.rating-cancel').click(function() {
    // the value is '0' when the cancel button is clicked
    $('#EvaluationValueRatingTextBox').val('0');
});

});

4 个答案:

答案 0 :(得分:2)

由于输入转换为div('rating stars'被分配了不同的类),我想你会想要计算.star-rating-on类的div数,并将该值分配给输入,像这样:

$('.star-rating').click(function() {
    // assign the value of "total stars" to a textbox with an id of ratingText
    $('#ratingText').val($('.star-rating-on').length);
});

无聊的示例 - 没有实际的图形/动画(只是插件页面上转换输入的HTML - 值总是4):http://jsfiddle.net/bhf2d/

修改

上面的代码应该有效。我想你可能认为你需要将你的jQuery应用到单选按钮,但事实并非如此,因为它在页面加载时被替换为div。如果您不清楚,我已使用您在问题中提供的代码添加了一个实时示例:Click here to see it

编辑2

请参阅an updated version here,与其他要求相匹配以设置多个复选框。文本框已稍微重命名(InsRatingText0等),以方便添加更多项目。名称约定InsRatingText[n]设置为匹配插件动态添加的div类('rater-0','rater-1'等)

答案 1 :(得分:0)

这些<input>元素未被点击,因为它们被隐藏并被<div>元素替换。您应该使用onChange()个事件。

此外,单选按钮不使用属性value,而是使用checked

答案 2 :(得分:0)

尝试这样的事情

$(function (){
    $(".star").click(function(){
       $("#textbox1").val($(this).val());
     });
});

基本上,它是使用class =“star”为onclick添加一个处理程序,然后将该值复制到文本框中。

答案 3 :(得分:0)

$(".star").bind('click', function() {
  $("#ratingValue").val($(this).text())
});

似乎在复选框上获取val()不起作用,但使用text()给出了值。以下是工作示例:jsfiddle