使用另一个选择器的选定值更新选择器选择

时间:2017-05-11 16:41:43

标签: acumatica

我有两个表:一个是表头,第二个是详细信息表。我想实现一个包含两个选择器的网格。用户将从第一个选择器中选择一个标题值,这将导致第二个选择器使用相关的详细信息值进行更新。根据第一个选择器的选定值,我需要做什么才能使用正确的细节值更新第二个?

2 个答案:

答案 0 :(得分:2)

您只需将选择器设置为使用“当前”并指向标题中使用的Dac / Field,就像在图表中查看视图一样。

 <px:PXSelector ID="edAField" runat="server" DataField="AField" AutoRefresh="True" />

在网格字段的页面文件中,您需要将AutoRefresh设置为true。

for view in stackView.arrangedSubviews {
    stackView.removeArrangedSubview(view)
    view.removeFromSuperview()
}

如果选择器中没有显示任何内容,请确保在尝试选择网格字段上的值之前提交标头值。

答案 1 :(得分:0)

enter image description here

如上图所示,我需要根据在第一个选择器(区域)中所做的选择来更新第二个选择器(产品)的选择。

下面是在Json文件的帮助下我用来完成这项工作的JQuery代码(请参见脚本下方):

    <script>
    $(document).ready(function(){
     $("#first-choice").change(function() {

    var $dropdown = $(this);

    $.getJSON("D:/Programming/productDeliveryAutomation/mysite/App/templates/data.json", function(data) {
        alert("Success");

        var key = $dropdown.val();
        var vals = [];

        switch(key) {
            case 'APAC':
                vals = data.APAC.split(",");
                break;
            case 'MEA':
                vals = data.MEA.split(",");
                break;
            case 'base':
                vals = ['Please choose from above'];
        }

        var $secondChoice = $("#second-choice");
        $secondChoice.empty();
        $.each(vals, function(index, value) {
            $secondChoice.append("<option>" + value + "</option>");
        });
    });
});
};
    </script>

Json文件内容:     {       “ APAC”:“ Core_POI”,       “ MEA”:“ Core_POI,SL”     }

以下是与选择器相关的HTML文件:

<h1>Region</h1>
<select id="first-choice">
  <option value="base">Please Select</option>
  <option value="APAC">APAC</option>
  <option value="MEA">MEA</option>
</select>
<br>

<h1>Product</h1>
<select id="second-choice">
  <option>Please choose from above</option>
</select>