2个选定的Select2之间的相互作用

发布于 2025-01-22 03:36:27 字数 1552 浏览 7 评论 0原文

我从MySQL收到了两个Select2的数据。

<div class="input-group input-group-sm mb-3 kod_gecis">  
  <select name="p_code" id="p_code" class="form-control kod_ara">
<?php
foreach ($result4 as $row3) {
  echo '<option data-pname="' . $row3['ProductName'] . '" value="' . $row3['ProductCode'] . '">'
    . $row3['ProductCode']
    . '</option>';
}
?>
  </select>
</div>
<div class="input-group input-group-sm mb-3 border border-warning gecis">
  <select name="p_name" id="p_name" class="form-control urun_ara">
<?php
foreach ($result2 as $row) {
  echo '<option data-pcode="' . $row['ProductCode'] . '" data-inbox="' . $row['PiecesInBox'] . '" data-price="' . $row['Price'] . '" name="' . $row['ProductName'] . '" value="' . $row['ProductName'] . '">'
    . $row['ProductName']
    . '</option>';
}
?>
  </select>
</div>

当我尝试选择p_name时,它将更改p_code select2很好。
但是问题是次要的。我会更改为p_name,而根据p_code的选定值。
这可能是这样的工作:
p_code data-pname的选择值接收值,之后,它应该等于p_name p_name 更改功能。
这些代码都在文档就绪功能下工作。

$('#p_name').change(function() {
  var pcode = $('#p_name option:selected').data('pcode');
  $('#p_code').val(pcode).trigger("change");
});
$('#p_code').change(function() {
  var pname = $('#p_code option:selected').data('pname');
  $('#p_name').val(pname).trigger("change"); // it's not working
  $('#p_name').select2('');
});

I received data from MySql into both select2.

<div class="input-group input-group-sm mb-3 kod_gecis">  
  <select name="p_code" id="p_code" class="form-control kod_ara">
<?php
foreach ($result4 as $row3) {
  echo '<option data-pname="' . $row3['ProductName'] . '" value="' . $row3['ProductCode'] . '">'
    . $row3['ProductCode']
    . '</option>';
}
?>
  </select>
</div>
<div class="input-group input-group-sm mb-3 border border-warning gecis">
  <select name="p_name" id="p_name" class="form-control urun_ara">
<?php
foreach ($result2 as $row) {
  echo '<option data-pcode="' . $row['ProductCode'] . '" data-inbox="' . $row['PiecesInBox'] . '" data-price="' . $row['Price'] . '" name="' . $row['ProductName'] . '" value="' . $row['ProductName'] . '">'
    . $row['ProductName']
    . '</option>';
}
?>
  </select>
</div>

When I'm trying to select p_name, its going to change p_code select2 very well.
But the problem is for secondary one. I would be change to p_name while according to selected value of p_code.
This could be work like this:
Receives value from p_code selected value of data-pname, after then it should be equals to p_name value and search it.
Because some inputs works according to p_name change function.
Those both codes are working under document ready function.

$('#p_name').change(function() {
  var pcode = $('#p_name option:selected').data('pcode');
  $('#p_code').val(pcode).trigger("change");
});
$('#p_code').change(function() {
  var pname = $('#p_code option:selected').data('pname');
  $('#p_name').val(pname).trigger("change"); // it's not working
  $('#p_name').select2('');
});

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

锦爱 2025-01-29 03:36:27

我解决了问题。我将分享谁需要在2个选定的Select2之间使用互动。

您应该使用第一个功能

更改功能

这样的

$('#p_name').change(function(){
    var pcode = $('#p_name option:selected').data('pcode');
    $('#p_code').val(pcode).trigger("change");
    });

:对于次要,您应该使用

'select2:选择'

函数,以便根据数据属性从数据中获取第一个Select2选择值,然后立即选择您的次要选择值。

工作代码在下面(适用于辅助选择2):

$('#p_code').on('select2:select', function () {
    var data = $('#p_code option:selected').data('pname');
$('#p_name').val(data).trigger('change');
});

I solved my problem. And im going to share for who needs to use interaction between 2 selected select2.

You should do for first function with

change function

like this:

$('#p_name').change(function(){
    var pcode = $('#p_name option:selected').data('pcode');
    $('#p_code').val(pcode).trigger("change");
    });

For secondary one, you should use to

'select2:select'

function in order to get your first select2 selected value from data according to your data attribute and instantly select your secondary selected value.

The working code is below (for the secondary select2):

$('#p_code').on('select2:select', function () {
    var data = $('#p_code option:selected').data('pname');
$('#p_name').val(data).trigger('change');
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文