javascript - 从 php 创建的下拉列表列表中单独填充 textarea

标签 javascript php jquery html dropdown

所以我有一个从数据库自动生成的下拉列表选择列表,并且我为每个列表自动创建了一个文本区域。

这是 html/php 代码:

<div class="row options-content">
<?php if ($options) { ?>
<?php foreach ($options as $option) { ?>
<?php if ($option['type'] == 'select') { ?>
<div class="form-group<?php echo ($option['required'] ? ' required' : ''); ?>">
  <label class="control-label" for="input-option<?php echo $option['product_option_id']; ?>"><?php echo $option['name']; ?></label>
  <select name="option[<?php echo $option['product_option_id']; ?>]" id="input-option<?php echo $option['product_option_id']; ?>" class="form-control">
    <option value=""><?php echo $text_select; ?></option>
    <?php foreach ($option['product_option_value'] as $option_value) { ?>
    <option value="<?php echo $option_value['product_option_value_id']; ?>"><?php echo $option_value['name']; ?>
    <?php if ($option_value['price']) { ?>
    (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>)
    <?php } ?>
    </option>
    <?php } ?>
  </select>
</div>
<textarea name="option-<?php echo $option['name']; ?>" rows="1" cols="50" class=""></textarea>
<?php } ?>
<?php } ?>
<?php } ?>

这是javascript:

<script>
$( "select" )
  .change(function () {
     var str = "";
     $( "select option:selected" ).each(function() {
     str += $( this ).text() + " ";
    });
    $( "textarea" ).text( str );
  })
  .change();
</script>

一切似乎都正常,除了当第一个下拉菜单被选中时,它会更改所有其他文本区域中的文本...我如何仅在指定的文本区域中进行更改?

我尝试了以下但没有任何效果:

<script>
$( "select" )
  .change(function () {
     var str = "";
     $( "select option:selected" ).each(function() {
     str += $( this ).text() + " ";
    });
    $( "#option-<?php echo $option['name']; ?>" ).text( str );
  })
  .change();
</script>

最佳答案

所做的更改

► 使用$(this) 来标识当前更改的选择框。

$( "select" )
  .change(function () {
     var str = "";
     $(this).find("option:selected" ).each(function() {
         str += $( this ).text() + " ";
     });
     $(this).parent().next().text( str );
  })
  .change();

关于javascript - 从 php 创建的下拉列表列表中单独填充 textarea,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36280107/

相关文章:

php - "Meta-objects"?

php - 每次点击提交时添加列表项

caching - jQuery Ajax 缓存

javascript - Save 不是 ExpressJS 中的函数

javascript - PDF Blob - 弹出窗口不显示内容

php - 确定论坛帖子所在的页面

javascript - jquery 未捕获语法错误 : Unexpected token :

c# - 文本框在回发时失去值(value)

javascript - Chai 深等于不工作

ajax - Javascript (jQuery) 发布到 PHP,未解析空属性