2017-02-01 3 views
1

в моем файле .jsp у меня есть такой код (до точки)Как передать параметр в JQuery document.ready() функции (JSTL, MVC, Java)

<td width="200px"> 
    <input type="text" id="${general.pk.code }_${MTPL[4].pk.run}" 
    name="${general.pk.code }_${MTPL[4].pk.run}" 
    value="${MTPL[4].value}" onChange="gg('${MTPL[4].jsCode }','${MTPL[4].pk.code }',this,'${MTPL[4].operator }','${MTPL[4].param1 }','${MTPL[4].param2 }','${MTPL[4].param3 }','${MTPL[4].param4 }','${MTPL[4].param5 }','${MTPL[4].pk.run }','${MTPL[4].param6 }','${MTPL[4].param7 }')" 
    style="text-align: right;"> 
</td> 

<c:forEach items="${valueRun }" var="generalR"> 
    <td width="200px"> 
    <input type="text" id="${general.pk.code }_${generalR}" 
    name="${general.pk.code }_${generalR}" 
    value="" onChange="gg('${MTPL[4].jsCode }','${MTPL[4].pk.code }',this,'${MTPL[4].operator }','${MTPL[4].param1 }','${MTPL[4].param2 }','${MTPL[4].param3 }','${MTPL[4].param4 }','${MTPL[4].param5 }','${MTPL[4].pk.run }','${MTPL[4].param6 }','${MTPL[4].param7 }')" 
    style="text-align: right;"> 
    </td> 
</c:forEach> 

когда это страница финишной нагрузка, тем значение быть, как это (проверьте элемент)

тип входного = идентификатор = имя "текст", "MTPL_4" = значение "MTPL_4" = "1100" OnChange = "GG ('Copas', 'MTPL_4', это, '', 'this', '', '4', '', '', '4', '', 'MTPL') " style =" text-align: right; ">

Я хочу получить параметр на функции gg() в документе javascript готов. Как это сделать.

<script> 
    $(document).ready(function() { 
    var a = $("#MTPL_4").val(param1); //didnt get param1 value 
    }); 
</script> 

Я пробую .val(), но его ценность - только значение (1100). Как получить значение внутри OnChange функции gg(); (попытаться получить «Copas», «MTPL_4» и т.д.)

ответ

1

Вы можете использовать JQuery атр метод для этого, а затем получить подстроку из него, как показано ниже:

$(document).ready(function(){ 
    var len = $("#MTPL_4").attr("onchange").length; 
    alert($("#MTPL_4").attr("onchange").substring(3, len-1)); 
}) 

Далее, если вы хотите разделить строку и получить отдельный параметр, который разделен символом «,», вы можете использовать метод split.

+0

Как я могу получить значение на основе имени параметра? например param1, jscode и т. д., потому что я буду использовать для вычисления в другой функции, такой как param2 + param3. – bxc00zzy

+1

Итак, вы знаете последовательность параметров, не так ли? Как jscode, код, оператор, param1, ..., para5, run, param6 и param7. Итак, теперь, когда вы разделите значение на основе «.» например str.split (','), вы получите массив всех значений параметра. Теперь вы можете связать его с некоторым ключом и значением и создать новый массив и передать его другому методу. Имеет ли это смысл? –

Смежные вопросы