如何使用JQuery在下面的javascript调用中查找和更改值。具体而言,以下值:,1,1,0,0,'否'。然后更改为:,2,2,0,0,'是'。
代码
<div class="ArrowDiv"><a href="javascript:ValidateFormFieldValue('form1','TelligentUpdate.asp', 1, 1, 0, 0, 'No', 'ORDER^BY^WebSiteDocumentAlias.ixtCode^asc', 0, 'Next','','Update', '','','','','','','', '', '', '', '', '');" onclick="doSubmitButton();doSubmit();" onmouseover="window.status='';return true;" onmouseout="window.status='';return true;"><img src="/telligent/images/StyleBlueRocket/ArrowRight.jpg" width="19" height="19" border="0" title="Next" align="absMiddle"></a></div>
答案 0 :(得分:0)
最直接的方式是:
$('.ArrowDiv>a')[0].attr("href", "javascript:ValidateFormFieldValue('form1','TelligentUpdate.asp', 2, 2, 0, 0, 'Yes', 'ORDER^BY^WebSiteDocumentAlias.ixtCode^asc', 0, 'Next','','Update', '','','','','','','', '', '', '', '', '');");
但那是不可读的
var values = [
"'form1','TelligentUpdate.asp', 1, 1, 0, 0, 'No', 'ORDER^BY^WebSiteDocumentAlias.ixtCode^asc', 0, 'Next','','Update', '','','','','','','', '', '', '', '', ''",
"'form1','TelligentUpdate.asp', 2, 2, 0, 0, 'Yes', 'ORDER^BY^WebSiteDocumentAlias.ixtCode^asc', 0, 'Next','','Update', '','','','','','','', '', '', '', '', ''"
];
//wrap the following in an event
var myDiv = $('.ArrowDiv>a')[0];
var functionName = 'ValidateFormFieldValue';
var myDivValue = myDiv.attr('href').split('javascript:'+functionName+'(')[1].slice(0, - 1);
if (values.indexOf(myDivValue)===1){
myDiv.attr('href', 'javascript:'+functionName+'('+values[0]+')');
} else if (values.indexOf(myDivValue)===0) {
myDiv.attr('href', 'javascript:'+functionName+'('+values[1]+')');
};
这应该有效,如果没有,请检查myDivValue变量。您可能还希望修改代码以提高其效率。一个例子是使values
数组中的字符串更容易修改。