Dashboards & Visualizations

Why is my multiselect dynamic delimiter with token not updating on token element change?

altink
Builder

Dear All,

I have put a token in place of a multi-select's delimiter in order to realize an AND/OR switch for the options.

     <input type="multiselect" token="field2">
      <label>Extra Options</label>
      <default>ALL</default>
      <choice value="*">ALL</choice>
      <choice value="SEO_SEC=1">Sec</choice>
      <choice value="SEO_ACC=1">Acc</choice>
      <choice value="SEO_ORA=1">Ora</choice>
      <delimiter> $field3$ </delimiter>

    </input>
    <input type="dropdown" token="field3" searchWhenChanged="true">
      <label>field3</label>
      <choice value="OR">Or</choice>
      <choice value="AND">And</choice>
      <default>OR</default>
     </input>
.......................................................
 index=* .... | search ...   ($field2$)

The problem I have is:
that only way to have the change of the dropdown field3 effective, is to change something in the multiselect field2!

How can I have the change of field3 set the right delimiter on field2 and run the search?

best regards
Altin

ps. Simple XML - best

0 Karma

kamlesh_vaghela
SplunkTrust
SplunkTrust

@altink

I have used javascript for this. Can you please try this?

<form script="conditional_multiselect.js">
  <label>Conditional Multiselect</label>
  <fieldset submitButton="false">
   <input type="multiselect" token="field2" id="field2_id" >
       <label>Extra Options</label>
       <default>ALL</default>
       <choice value="*">ALL</choice>
       <choice value="SEO_SEC=1">Sec</choice>
       <choice value="SEO_ACC=1">Acc</choice>
       <choice value="SEO_ORA=1">Ora</choice>
       <delimiter> $field3$ </delimiter>
     </input>
     <input type="dropdown" id="field3_id" token="field3" searchWhenChanged="true">
       <label>field3</label>
       <choice value="OR">Or</choice>
       <choice value="AND">And</choice>
       <default>OR</default>
      </input>
  </fieldset>
  <row>
    <panel>
      <html>
        $field2$
      </html>
    </panel>
  </row>
</form>

conditional_multiselect.js

require(["jquery", "splunkjs/mvc", "splunkjs/mvc/simplexml/ready!"], function($, mvc) {
   var field3 = mvc.Components.get("field3_id");
  //  headerView.render();
  field3.on("change",function(){
    var field2 = mvc.Components.get("field2_id");
    field2.render();     
  })
  console.log("Hiwwwww",field3);
});

Thanks

0 Karma

altink
Builder

Dear @kamlesh_vaghela

thank you very much for your reply, but I forgot to mention, that I need it done by Simple XML only and no extra things. will update on body

thank you very much again.

best regards,
Altin

0 Karma
Get Updates on the Splunk Community!

.conf24 | Registration Open!

Hello, hello! I come bearing good news: Registration for .conf24 is now open!   conf is Splunk’s rad annual ...

ICYMI - Check out the latest releases of Splunk Edge Processor

Splunk is pleased to announce the latest enhancements to Splunk Edge Processor.  HEC Receiver authorization ...

Introducing the 2024 SplunkTrust!

Hello, Splunk Community! We are beyond thrilled to announce our newest group of SplunkTrust members!  The ...