无法将文本添加到隐藏的输入字段

时间:2009-10-27 13:55:52

标签: jquery html forms

我有以下HTMl:

<input id="brandID" name="brandID" type="hidden" value="" />

<select id="selectList" class="textfield70pc" name="selectList">
    <option selected="" value="221">A</option>
    <option value="4673">B</option>
</select>

更改选择框的值后,我需要填充此输入字段。 我尝试过类似的东西,但它没有用。

      jQuery('#selectList').change(function(){
        jQuery('#brandID').attr('value', '123123');
      });

建议任何人?

更新
这虽然有效:

document.getElementById('brandID').value = '123'

但我想使用jQuery。

5 个答案:

答案 0 :(得分:5)

jQuery live

不支持更改
  

可能的事件值:click,dblclick,mousedown,mouseup,mousemove,mouseover,mouseout,keydown,keypress,keyup

     

目前不支持:模糊,焦点,   mouseenter,mouseleave,change,submit

如果您想使用直播,请使用live query


编辑:上面的代码应该按原样运行,所以也许你的selectList格式不正确?

这个基本的HTML使上述功能对我有用:

<select id="selectList">
 <option>1</option>
 <option>2</option>
</select>

嗯,也许你只是没有看到它更新HTML,但它确实更新了DOM(你使用的是firebug吗?)我添加了一个警告来显示值,它显示了正确的值

$(document).ready(function(){
 jQuery('#selectList').change(function(){
  jQuery('#brandID').attr('value', '123123');
  alert($('#brandID').val());
 });
})

答案 1 :(得分:0)

jQuery('#selectList').live('change', function(){
  jQuery('#brandID').value = '123123';
});

请记住,在选择失去焦点之前,IE不会触发onchange事件。

答案 2 :(得分:0)

这有用吗?

jQuery('#selectList').bind('change', function(){
  jQuery('#brandID').val('123123');
});

编辑:

来自jquery Live()documentation page

在jQuery 1.3中添加:将处理程序绑定到所有当前和未来匹配元素的事件(如单击)。也可以绑定自定义事件。 可能的事件值:click,dblclick,mousedown,mouseup,mousemove,mouseover,mouseout,keydown,keypress,keyup 目前不支持:模糊,焦点,鼠标中心,鼠标移动,更改,提交

答案 3 :(得分:0)

乍一看:

$(document).ready(function()
{
    $('#selectList').change(function() { $('#brandID').val('123123'); });
});

我的假设:selectList在某处是一个有效的ID。

如果这是一个实际的选择列表(仅由名称暗示),您是否关心选择的内容?

$(document).ready(function()
{
    $('#selectList').change(function() { 
        mychoice = $('#selectList option:selected').text();
        $('#brandID').val(mychoice); 
    });
});

答案 4 :(得分:0)

在阅读了所有这些对您无效的好回复之后,我不得不问一个基本问题 - 您是在$(document).ready()之内运行此Javascript还是在<script>之后运行<select>标记元素?它必须是一个或另一个,以便在设置其属性之前包含元素的DOM树。