我对jquery比较新。我已经在这个问题上敲了一个星期,试图找到一种方法。
基本上,我有两个相同的选项,在选择时将显示的数字更改为1,然后当更改为不同的选择时,将原始数字更改回0.我的原始代码工作正常,但我想扩展代码这样用户可以保存生成的URL并在以后重新加载他们的选择。
这是有效的HTML。第二个选择也是一样,只有能力ID为2。
<select id="ability1" onchange="attributeChoice( event )"><option value="selected">Select</option><option value="val1">One</option><option value="val2">Two</option><option value="val3">Three</option><option value="val4">Four</option><option value="val5">Five</option><option value="val6">Six</option></select>
工作jquery
function attributeChoice( event ) {
$( event.currentTarget ).change(function() {
var attributeChange = this.id;
var attributeSelect = $(this).find('option:selected').attr('value');
$('span#' + attributeSelect).html( 1 );
$('select#' + attributeChange ).on( 'change', function() {
$('span#' + attributeSelect).html( 0 );
});
getTotals();
});
}
然后这段代码禁用了另一个选择的选定选项,因此无法选择它两次。
$('select').change(function() {
$('select#ability1, select#ability2').not(this).children('option[value=' + this.value + ']').attr('disabled', true).siblings().removeAttr('disabled');
$('select#ability1, select#ability2').not(this).children('option[value=selected]').attr('disabled', true);
});
从我读过的内容来看,我需要使用.change()来强制选择的onchange进行激活。到目前为止,我没有运气。最初我使用event.target设置了attributeChoice函数,但我了解到它实际上看起来一直回到触发它的开头。我转而使用this和event.currentTarget。
这是我一直在玩的代码。我在这里做错了什么想法? (hattr1是从URL中提取的所选项目的索引)
$('select#ability1').change(function() {
$('select#ability1 option').eq(hattr1).prop('selected', true);
$('select#ability1').change();
});
答案 0 :(得分:0)
如果您想在 <div>
<?php
$args = array(
'post_type' => 'post'
);
$categories = get_categories( $args );
$catlinks = get_category_link( $categories);
foreach ( $categories as $category ) {
echo '<a href=" '.$catlink->link . '"> <h2>' . $category->name .'</h2></a>';
$args['category'] = $category->term_id;
} ?>
</div>
事件的option
中选择预先确定的select
,请在更改事件上调用change
,然后使用{{1如您已经做的那样选择$.preventDefault()
。
$.prop()
&#13;
option
&#13;