javascript - 结果到处都变了

标签 javascript php onchange

这是我的观点,请看一下:

<div class="form-group target" id="tools" >
  <div class="input-group">
    <div class="col-lg-6"> <select class="form-control" style="width: 100%" name="tool_id[]" id="toolss" onchange="tool(this)" required>
      <option value="">Select</option>

      </select></div>

    <div class="col-lg-3">  
      <input type="text" class="form-control" required name="quantity[]" id="quantity" placeholder="Quantity">
    </div>
    <div class="col-lg-3" id="avail">  
      <p class="available">0 available</p>
    </div>

    <span class="input-group-btn">
      <button type="button" class="btn btn-danger addel-delete"><i class="fa fa-remove"></i>
      </button>
    </span>
  </div>
</div>

这是我的脚本:

function tool(sel)
{
  var tools=sel.value;

  alert(tools);

  var url='<?php echo base_url(); ?>admin/tool/ajax_available';
  $.post(url, {tools:tools}, function(data){  
    alert("Value: " + $(".available").html(data));
  });
}

问题是每当我继续从选择框中选择值时,相应的值和所有先前选择的值都会变得相同。 图像显示在这里。

Valid XHTML http://spdc.in/demo/spectra/assets/images/s-tool1.PNG .

最佳答案

<强> Working fiddle

问题:当您使用.available选择器时,它将影响文档中具有类available的所有元素。

建议的解决方案:

id 在同一文档中应该是唯一的,因此如果您有多个工具,您应该将 id 替换为该工具的类有效结构:

<div class="form-group target tools">

然后您应该引用选择器中的当前元素,因此使用:

$(sel).closest('.tools').find('.available').html(data);

希望这有帮助。

关于javascript - 结果到处都变了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41299717/

相关文章:

java - jQuery 函数没有调用 Spring MVC 中的 onchange 事件

javascript - 来自外部 $http.get 方法的 Angular : How to access angular $scope. ng-model_name?

javascript - jquery保留变量,不要每次都设置为0

php - 无法执行简单的 Hello World PHP 扩展

php - 在 Enterprise Architect 中为 PHP 生成 getters 和 setters

php mysql 查询3个表(用户、主题、消息)

jquery - Application.js 放置 - Rails 3 和 jQuery

delphi - 当用户按下 CTRL+X 时如何进行干扰并仍然保持 TMemo 的默认 CTRL+X 行为?

javascript - Aurelia - 应用程序初始化 - 临时禁用属性更改通知

javascript - 我应该导入什么来使用 jquery 数据表?