3

这当前返回未定义。<option>注释行中应该包含什么来提醒当前标签的值(1、2、3 或 4) ?

<select id="dropdown" name="dropdown">
        <option value="0" data-imagesrc="images/icons/all.png">All Questions</option>
        <option value="1" id="friends" data-imagesrc="images/icons/friends.png">Friends</option>
        <option value="2" data-imagesrc="images/icons/friends_of_friends.png">Friends of Friends</option>
        <option value="3" data-imagesrc="images/icons/network.png"><?php echo $network; ?></option>
        <option value="4" data-imagesrc="images/icons/location.png"><?php echo $location ?></option>
</select>

<script type="text/javascript">
$('#dropdown').ddslick({
showSelectedHTML: false,
    onSelected: function(selectedData){
    var str = $(this).attr('id'); // WHAT SHOULD GO HERE?
    alert(str);
    }   
});
</script>

编辑

如果它是相关的,我正在使用这个插件

也许这个问题可能会有所帮助。我试图理解它。

设法弄清楚这一点。最终的工作代码是:

<select id="dropdown" name="dropdown" value="hello">
        <option value="0" data-imagesrc="images/icons/all.png">All Questions</option>
        <option value="1" id="friends" data-imagesrc="images/icons/friends.png">Friends</option>
        <option value="2" data-imagesrc="images/icons/friends_of_friends.png">Friends of Friends</option>
        <option value="3" data-imagesrc="images/icons/network.png"><?php echo $network; ?></option>
        <option value="4" data-imagesrc="images/icons/location.png"><?php echo $location ?></option>
</select>

<script type="text/javascript">
$('#dropdown').ddslick({
    showSelectedHTML: false,
    onSelected: function(data){
        alert(data.selectedData.value);
    }   
});
</script>
4

6 回答 6

5

使用$(this).val()代替$(this).attr('id')

<option>调用元素.val()时返回当前选择的值。<select>

于 2012-12-21T18:16:09.307 回答
2
$('#dropdown').ddslick({
showSelectedHTML: false,
    onSelected: function(selectedData){
    var str = $(this).val()
    alert(str);
    }   
});

所以,使用val()而不是attr('id')

于 2012-12-21T18:16:26.390 回答
1

根据您插件的文档,该onSelected方法获取selectedData参数:

selectedData(带有文本、值、描述、imageSrc 的嵌套对象)

selectedData.text文本标签和值selectedData.valueonSelected函数内部可用。试试这个:

$('#dropdown').ddslick({
    showSelectedHTML: false,
    onSelected: function(selectedData){
        var str = selectedData.value
        alert(str);
    }   
});
于 2012-12-21T18:30:02.900 回答
1

我得到了它!!如果您想获取您在数据来自的数组中设置的属性值,您可以像这样获取您的值->

$('#id').ddslick({
    data:dropdowndata,
    width:60,
    selectText: "Select Circle",
    imagePosition:"left",
    //dropdowndata[4].selected:true
    onSelected: function(selectedData){ 
    val = selectedData.selectedIndex;
    alert(dropdowndata[val].value); 
于 2016-07-20T07:41:42.533 回答
0

如果要发布数据,请创建一个隐藏输入,使用 jquery 设置隐藏字段的值,然后发布隐藏字段

$('.ddslick_drop_down').ddslick({ onSelected: function(selectedData){ //set the value to a hidden field then post the hidden field $('#dish_id').val(selectedData.selectedData.value);

于 2018-05-16T18:22:40.870 回答
-2

我从 ddslick 获得了选定的索引,并分配了一个值来分隔输入 >fields。这样我就可以使用输入字段来控制我的表单。我已经编码 > 3 个月了,所以我真的不知道我在做什么。这是一个很长的路要走,但它似乎很有效......

onSelected: function(selectedData){
    alert("selectedData.selectedIndex");
    if(selectedData.selectedIndex == 1 ){
        $("#input1").html(selectedData.selectedIndex);
    }
    if(selectedData.selectedIndex == 2 ){
        $("#input2").html(selectedData.selectedIndex);
    }
    if(selectedData.selectedIndex == 3 ){
        $("#input3").html(selectedData.selectedIndex);
    }
}
于 2016-07-19T20:26:52.303 回答