javascript - JQuery 根据下拉菜单中的选择更改值

标签 javascript jquery html

我尝试使用 JQuery 创建一个下拉菜单,然后根据人们在菜单中选择的内容更改搜索输入元素上的特定值。

到目前为止,我已经想出了如何确定我需要更改的值。我还得到了它,如果有人从菜单中做出任何选择,它会将搜索输入值更改为一个特定值:

<div> 
 <form action="setColor" method="post">
   <fieldset>
     <label for="color">Select A Color</label>
       <select name="color" id="color">
           <option>Blue</option>
           <option selected="selected">Red</option>
           <option>Yellow</option>
      </select>
   </fieldset>
  </form>
</div>


<script> 

  $(function() { 
   $('select[name="color"]').change(function() {
     $('input[name="ancestorId"]').val("9999");
   });
 });

</script> 

我现在需要的是根据菜单选择设置值的东西,匹配如下:

Blue = 9999
Red =  8888
Yellow = 7777 

我仍在查看示例并将继续尝试,但有点卡住了。任何建议表示赞赏。

最佳答案

您应该将值赋值放在选项元素中,因为它们就是为此而设计的:

<select name="color" id="color">
    <option value="9999">Blue</option>
    <option value="8888" selected="selected">Red</option>
    <option value="7777">Yellow</option>
</select>

脚本几乎保持不变,除了我在选择器中使用了元素 ID 而不是它们的名称(假设您的祖先元素具有这样的 ID):

$(function() { 
    $('#color').change(function() {
         $('#ancestor').val($(this).val());
    }).change(); // Trigger the event
});

请注意,链接的 .change() 调用将触发刚刚分配的 change 事件,以便在页面加载时预选项目的值将填充到文本字段中。

查看实际效果:

$(function() { 
    $('#color').change(function() {
         $('#ancestor').val($(this).val());
    }).change(); // Trigger the event
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<select name="color" id="color">
    <option value="9999">Blue</option>
    <option value="8888" selected="selected">Red</option>
    <option value="7777">Yellow</option>
</select>

<input id="ancestor" type="text" />

关于javascript - JQuery 根据下拉菜单中的选择更改值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27853281/

相关文章:

javascript - Angular 表达式不适用于 html

javascript - 导航栏固定在滚动条上后如何阻止内容跳转?

javascript - 等待添加到 CSS 的图像加载 - JQuery

javascript - div 内的 jQuery 可放置中心图像

html - 引导列之间的全高边框

javascript - Javascript 中的跨浏览器标准 Xml 处理

javascript - 如何禁用或阻止 Web 表单上的空格键输入

php - 在 uploadify 中上传完成后不想隐藏队列项目栏

html - 使用 Bootstrap 将两列居中

javascript - 使用 HTML 按钮更改 Javascript 变量