1

i have a html select tag like given below and using jquery for selecting id dynamically as given in below code var trainingnameCtrlVal = $("#x" + i + "_TRAINING_NAME[]").val();.i am getting an error if i use var trainingnameCtrlVal = $("#x" + i + "_TRAINING_NAME").val(); this will not shows any result.

<select data-table="assessment_training" 
data-field="x_TRAINING_NAME"
data-value-separator=", " id="x3_TRAINING_NAME[]" 
name="x3_TRAINING_NAME[]" multiple="multiple" 
class="form-control">
<option value="62">Induction Training</option></select>

I used below code to execute but i am getting error

var z = $('select[data-field="x_TRAINING_CATEGORY"]').length-1;
    var training_name = [];
    for (var i = 1; i <= z; i++) {  
        var trainingnameCtrlVal = $("#x" + i + "_TRAINING_NAME[]").val();
        training_name.push(trainingnameCtrlVal);
        alert(trainingnameCtrlVal);
    }

 Error: Syntax error, unrecognized expression: #x1_TRAINING_NAME[]
Moby M
  • 910
  • 2
  • 7
  • 26
Anil Kumar Reddy
  • 102
  • 1
  • 1
  • 16

1 Answers1

3

You can use like this

$("[id='"+'x'+i+'_TRAINING_NAME[]'+"']")

or

var a = 'x'+i+'_TRAINING_NAME[]'
$("[id='"+a+"']")

Check snippet below

$("select").on("click", function(){
i = 3
var a = 'x'+i+'_TRAINING_NAME[]'
alert($("[id='"+a+"']").val())
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>


<select data-table="assessment_training" 
data-field="x_TRAINING_NAME"
data-value-separator=", " id="x3_TRAINING_NAME[]" 
name="x3_TRAINING_NAME[]" multiple="multiple" 
class="form-control">
<option value="62">Induction Training</option></select>
halfer
  • 19,824
  • 17
  • 99
  • 186
krishnar
  • 2,537
  • 9
  • 23