我有这个:
<a class="mylink" href="#" data-jSearchType="Category" data-jSearchValue="misc">Miscellaneous</a>
<a class="mylink" href="#" data-jSearchType="Category" data-jSearchValue="miscThis">Miscellaneous1</a>
<a class="mylink" href="#" data-jSearchType="Category" data-jSearchValue="miscThat">Miscellaneous2</a>
<a class="mylink" href="#" data-jSearchType="OtherCategory" data-jSearchValue="miscOther">Miscellaneous3</a>
我希望它能与之合作:
$(document).ready(function(){
$('.mylink').click(function () {
var myvalue1 = $('. mylink').index.(this).data-jSearchType;
var myvalue2 = $('. mylink').index.(this).data-jSearchValue;
$('<form action="mylinkReceiver.php" method="POST"/>')
.append($('<input type="text" name="d" value="' + myvalue1 + '"> <input type="text" name="v" value="' + myvalue2 + '">'))
.appendTo($(document.body))
.submit();
});
});
点击链接应设置&#34; myvalue1&#34;和&#34; myvalue2&#34;,然后是提交表格中的值。
我已经看过几个有效的例子,但在我的安排中,变量仍未定义。
现在我的头痛了...
也许这个问题在涉及的附加链接中更加明确
答案 0 :(得分:1)
这是 FIDDLE
您拥有包含大写字母的无效数据属性以及使用jQuery访问数据属性,它应该是.data('attributename')
<a class="mylink" href="#" data-type="Category" data-value="misc">Miscellaneous</a>
$(function() {
$('.mylink').click(function(e) {
e.preventDefault();
var myvalue1 = $(this).data('type'),
myvalue2 = $(this).data('value');
$('<form action="mylinkReceiver.php" method="POST">' +
'<input type="text" name="d" value="' + myvalue1 + '">' +
'<input type="text" name="v" value="' + myvalue2 + '">' +
'</form>').appendTo($('body')).submit();
});
});
*注意:如果您愿意,可以使用data-jsearch-type
&amp; data-jsearch-value
然后使用例如$(this).data('jsearch-type')
访问它<span class="mylink" data-type="Category" data-value="misc">Miscellaneous</span>
另外,你可以使用span代替锚点,例如
.mylink {
font-size: 12px;
color: #0098f4;
}
.mylink:hover {
color: #666;
}
然后使用CSS
设置样式{{1}}
在这种情况下,您无需在脚本中阻止默认操作。