0

我想在单个文本中显示文本框和选择框组合值(第一个 tb 值,然后是 sb 值)。这是jsp页面:

<table>
<tr>
<td>A : </td>
<td><input type="text" id="text1" name="customer" value=""></td>
</tr>
<tr><td>B :</td></tr>
<tr>
<td><input type="radio" onclick="change(this, 'select1000')" name="license[1]" value="1000"> 25-1000</td>
<td><div id="select1000" style="display: none">
<select id="select" name="selectbox">    
<option test="l25" value="25">25</option>
<option test="l100" value="100">100</option>
<option test="l175" value="175">175</option>
<option test="l250" value="250">250</option>
<option test="l325" value="325">325</option>
</select>
</div>
</td>
</tr>
<tr><td> ShowValue: </td>
<td><input type="text" name="key" id="text2" value="" disabled="disabled"></td> </tr>
</table>

我想在 ShowValuetextbox 中显示文本框 A 和选择框值 B(第一个 textbx 值出现然后选择框),为此我编写了 jquery:

<script type="text/javascript">
$("#text1").keyup(function() {
$("#text2").val($("#text1").val() + $(this).find('option:selected').val()).change();
});

$("#select").keyup(function(){
$("#text2").val($("#text1").val() + $(this).find('option:selected').val()).change();
});
</script>

没有得到预期的输出,任何输入的家伙........

4

4 回答 4

1

伙计:在代码中有一个小错误。用这个替换它。

<script type="text/javascript">
$("#text1").keyup(function() {
$("#text2").val($("#text1").val() + $("#select").find('option:selected').val()).change();
});

$("#select").change(function(){
$("#text2").val($("#text1").val() + $(this).find('option:selected').val()).change();
});
</script>

您为文本 2 调用 .change() 事件是否有任何特殊原因?您也可以简单地使用 $("#select").val(); 获取下拉列表的选定值

于 2012-07-11T07:50:24.123 回答
1
<script type="text/javascript">

    $(document).ready(function(){    

        $('#text1').keyup(function() {
             $('#text2').val($(this).val()+$('#select').val());
        });


    });
</script> 

这对我有用,我试图把它放在 jsfiddle 中,但它对我来说是失败的。你也应该使用 document.ready 来确保事件正确绑定

于 2012-07-11T07:52:30.037 回答
1
var sel = $("#select"),
    txt_1 = $("#text1"),
    txt_2 = $("#text2");

txt_1.on('keyup', function() {
    txt_2.val( $.trim( this.value ) + sel.val() );
});

sel.on('change', function() {
    txt_2.val( $.trim( txt_1.val() ) + this.value );
});
于 2012-07-11T08:55:37.560 回答
1

感谢大家分享您的意见,但我已经写了这个(虽然在 textbox2 中显示了评论)但这对我有用:

   <script type="text/javascript">
   $(document).ready(function(){
  $("#text1").keyup(function(){
//   $("#text2").val($("#text1").val());
   $("#text2").val($("#text1").val() + $(this).find('option:selected').val()).change();
  });
});

     $(document).ready(function(){
  $('select[name="selectbox"]').change(function() {
    var selectedValue = $(this).find('option:selected').val();
    $('input[name="key"]').val(selectedValue);
    $("#text2").val($("#text1").val() + $(this).find('option:selected').val()).change();
  });

});
 </script>
于 2012-07-11T09:48:08.497 回答